IOS URL中文乱码 你的名字 2022-08-10 00:37 161阅读 0赞 发现NSString类中有内置的方法可以实现。他们分别是: \- (NSString \*)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding \- (NSString \*)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding 只要传入相应的编码即可以进行编码和解码了,不过此方法是对整个Url进行编码的所以如果有Query String中带有&?/等是不会进行编码转换的,如果有这方面的需要的朋友可以参照下面提供的网址,找到解决方法:[http://www.cocoachina.com/bbs/read.php?tid-2469.html][http_www.cocoachina.com_bbs_read.php_tid-2469.html] 示例: **\[cpp\]** [view plain][] [copy][view plain] 1. NSString\* string1 = @"https://www.cloudsafe.com/文件夹"; 2. 3. NSString\* string2 = \[string1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding\]; 4. NSString\* string3 = \[string2 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding\]; 5. 6. NSString\* string4 = \[string2 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding\]; 7. NSString\* string5 = \[string3 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding\]; 8. 9. NSString\* string6 = \[string4 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding\]; 10. NSString\* string7 = \[string5 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding\]; 11. 12. 输出结果: string5 & 6 重复编码encode 13. 14. string1:https://www.cloudsafe.com/文件夹 15. 16. string2:https://www.cloudsafe.com/%E6%96%87%E4%BB%B6%E5%A4%B9 17. string3:https://www.cloudsafe.com/%25E6%2596%2587%25E4%25BB%25B6%25E5%25A4%25B9 18. 19. string4:https://www.cloudsafe.com/文件夹 20. string5:https://www.cloudsafe.com/%E6%96%87%E4%BB%B6%E5%A4%B9 21. 22. string6:https://www.cloudsafe.com/文件夹 23. string7:https://www.cloudsafe.com/文件夹 参考:[iPhone 中文URL编码(encode)解码(decode)][iPhone _URL_encode_decode] [iPhone中的Url编码与解码][iPhone_Url] [http_www.cocoachina.com_bbs_read.php_tid-2469.html]: http://www.cocoachina.com/bbs/read.php?tid-2469.html [view plain]: http://blog.csdn.net/blue_jjw/article/details/9112419# [iPhone _URL_encode_decode]: http://www.feiphone.com/guidelines/iphone-url-encode-and-decode/ [iPhone_Url]: http://hi.baidu.com/vim888/item/c3afb419329d19406826bb58
还没有评论,来说两句吧...