您的位置:首页 > 其它

IPHONE stringByAddingPercentEscapesUsingEncoding来编码 URL

2012-09-15 13:35 537 查看
IPHONE下可以使用stringByAddingPercentEscapesUsingEncoding来编码。

但是实际使用中,编码后的URL仍然可能会无效。因为URL的编码方式并不唯一。参见:

Encode-Compare
URLEncoding

NSString* escapedURLString = [unescapedString
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]

不同的编码方式下,有些字符不会被编码。

所以,客户端使用什么样的编码方式应该和服务器端的解码方式配对。

可以使用CFURLCreateStringByAddingPercentEscapes

编码URL中参数部分后,再用前面stringByAddingPercentEscapesUsingEncoding编码,应该可以适应多数解码方式。

NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes
(NULL, (CFStringRef)yourtext, NULL,
(CFStringRef)@”!*’();:@&=+$,/?%#[]“, kCFStringEncodingUTF8);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: