您的位置:首页 > 职场人生

#面试题#URL带有中文或者其他特殊字符时错误的问题

2015-05-12 18:14 351 查看
在 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];
//此处为编码以前的文字
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐