Objective-C学习——中文URL编码和解码

发现NSString类中有内置的方法可以实现。他们分别是:

- (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding

       只要传入相应的编码即可以进行编码和解码了,不过此方法是对整个Url进行编码的所以如果有Query String中带有&?/等是不会进行编码转换的,如果有这方面的需要的朋友可以参照下面提供的网址,找到解决方法:http://www.cocoachina.com/bbs/read.php?tid-2469.html

示例:

[cpp] view
plain
copy

  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/文件夹  
时间: 2024-12-10 06:03:27

Objective-C学习——中文URL编码和解码的相关文章

Java实现的URL编码和解码技术

当编写 " 网络爬虫" 或下载器时,在 Java 中实现 URL 编码和解码是一个很常见的要求.本文的重点是创建用于对所传递的 URL 进行编码和解码的模块. Main 方法 public static void main(String[] args) {                // TODO Auto-generated method stub                String url="https%3A%2F%2Fr1---sn-ci5gup-cags.

javascript url 编码与解码函数

javascript教程 url 编码与解码函数 function UrlEncode(str) {     var ret="";     var strSpecial="!"#$%&()*+,/:;<=>?[]^`{|}~%"; var tt="";     for(var i=0;i<str.length;i++)     {         var chr = str.charAt(i);       

asp.net URL编码与解码_实用技巧

例如Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&ie=utf-8.如果你的value字符串中包含了=或者&,那么势必会造成接收Url的服务器解析错误,因此必须将引起歧义的&和=符号进行转义,也就是对其进行编码. 又如,Url的编码格式采用的是ASCII码,而不是Unicode,这也就是说你不能在Url中包含任何非ASCII字符,例如中文.否则如果客户端浏览器和服务端浏览器支持的字符集不同的情况下,中文可能会造成

url 编码和解码

- (NSString*)encodeURL:(NSString *)string { NSString *newString = NSMakeCollectable([(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"), CF

js和C#中的编码和解码

原文:js和C#中的编码和解码 同一个字符串,用URL编码和HTML编码,结果是完全不同的. JS中的URL编码和解码 encodeURIComponent("text") //url编码 decodeURIComponent("text") //url解码 JS中的HTML编码和解码 escape("text") //html编码 unescape("text") //html解码   C#中的URL编码和解码   Http

url 编码 js url传参中文乱码解决方案_javascript技巧

1.配置文件web.config中 在节中加上整个网站的编码方式. <globalization fileEncoding="GB2312" requestEncoding="GB2312" responseEncoding="GB2312"/> 这样参数就以gb2312的中文编码方式传输了.而一般默认是utf-8. 2.在传参是先编码在传输,接受时先编码,在接收. string mm=Server.URLEncode(你); Res

JavaScript Base64编码和解码,实现URL参数传递。_javascript技巧

为什么需要对参数进行编码?相信有过开发的经验的广大程序员都知道,在Web中,若是直接在Url地址上传递参数值,若是中文,或者+等什么的就会出现乱码现象,若是数字或者英文的好象没有什么问题,简言之,传递过来的参数是需要进行编码的.在这里,也许有人会说,为什么不直接用Server.UrlDecode和Server.UrlEncode这两个来进行编码和解码的操作呢? 的确,这两个服务器端对象很好使用,用起来也很方便,但是,若在客户端是HTML的Input,查询的时候页面是HTML或者其他的,反正不是.

IOS中对Url进行编码和解码示例_IOS

本文主要介绍IOS中对Url进行编码和解码示例,具体如下: 1.非ARC模式下 + (NSString *)encodeToPercentEscapeString: (NSString *) input {    // Encode all the reserved characters, per RFC 3986    // () NSString *outputStr = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAlloc

如何用excel urldecode解码把url编码转为汉字?

统计分析可以反映出网站运营的情况,并根据实际作出相应的调整,是站长必需的基础技能.ytkah感觉最好用的是谷歌统计,里面有个搜索关键词及对应受访页面,这个功能对优化用处很大,但大家都知道访问不太顺畅.statcounter也有相似的功能,但免费版只能显示最近几天或最近几百条的记录.bd统计.cnzz也有类似的功能,只是不太明显,没注意的话可能发现不到,没错,就是访问明细那.最相关的文章:如何从统计中批量获取BD搜索关键词及对应的入口页面? 以上是cnzz的截图,只能显示最近7天的数据,可以每周下