如果我想使用变量创建URL,我有两个选择来编码字符串.urlencode()和rawurlencode().
究竟有什么区别,哪个是首选?
let testurl = "http://akns-
images.eonline.com/eol_images/Entire_Site/2018029/rs_1024x759-
180129200032-1024.lupita-nyongo-angela-bassett-black-panther-
premiere.ct.012918.jpg?fit=inside|900:auto"
if let url = URL(string: testurl){
print("valid")
}else {
print("invalid")
}
Run Code Online (Sandbox Code Playgroud)
这将打印为无效的URL.但是在Web浏览器中显示图像.我已经看到很多方法,但它会抛出Apple警告使用stringByAddingPercentEncodingWithAllowedCharacters,这总是不起作用.
我更喜欢一个解决方案来清理网址而不编码完整的urlstring.在初始步骤对其进行编码可能是传递给外部库时的摩擦,外部库将重新编码URL并使其无效.