我正在使用从互联网上下载的URLs
,所以我事先并不知道他们的格式,而且它们是动态的。
如何知道我是否应该在运行时对URL
进行编码?
// `url` is retrieved from the Internet at run time
// When should I call following line?
let urlString = url!.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLFragmentAllowedCharacterSet())
如果已经编码,则调用stringByAddingPercentEncodingWithAllowedCharacters
会使URL
无效。
答案 0 :(得分:1)
使用:NSString *unencodedUrlString = [originalURL stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
解码网址。现在将解码版本与原始版本进行比较。如果它们相同,则不对编码进行编码,否则它已经编码。