在 iOS 程序访问 HTTP 资源时需要对 URL 进行 Encode,比如像拼出来的http://unmi.cc?p1=%+&sd f&p2=中文,其中的中文、特殊符号&%和空格都必须进行转译才能正确访问。
方法stringByAddingPercentEscapesUsingEncoding它分不出哪个&是参数的连接符号还是参数值,不会转换URL中的 ?%& 符号。
解决的方法如下:
(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)string,NULL,CFSTR("!*'();:@&=+$,/?%#[]"),kCFStringEncodingUTF8);
转义字符解码:
char*CSString="%E5%96%BB%E9%98%B3%E6%96%87";
[CSString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//此处为编码以前的文字
本文介绍了在iOS开发中如何正确地对URL进行Encode和Decode操作。特别关注了使用stringByAddingPercentEscapesUsingEncoding方法时遇到的问题,并提供了一个实用的解决方案来确保URL中的特殊字符能够被正确处理。

被折叠的 条评论
为什么被折叠?



