如何判断URL是否应编码?

时间:2016-02-29 11:59:41

标签: ios objective-c swift

我正在使用从互联网上下载的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无效。

1 个答案:

答案 0 :(得分:1)

使用:NSString *unencodedUrlString = [originalURL stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];解码网址。现在将解码版本与原始版本进行比较。如果它们相同,则不对编码进行编码,否则它已经编码。