文档章节

网址中文编解码 URLEncode URLDecode

abcMx
 abcMx
发布于 2014/02/19 10:14
字数 193
阅读 1221
收藏 0


NSString *strUTF8 = @"太平洋保险(太保)人保,平保,人寿";

  

//urlencode  : 

    NSString *strUrl = [strUTF8 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];


//urldecode 解析网址上中文时用到

NSString *strUrlDecode = [strUrl stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];


//在线工具

http://tool.chinaz.com/Tools/URLEncode.aspx



自己打开网址时,带中文参数时,需要编码

- (NSString*)URLencode:(NSString *)originalString
        stringEncoding:(NSStringEncoding)stringEncoding {
    //!  @  $  &  (  )  =  +  ~  `  ;  '  :  ,  /  ?
    //%21%40%24%26%28%29%3D%2B%7E%60%3B%27%3A%2C%2F%3F
    NSArray *escapeChars = [NSArray arrayWithObjects:@";" , @"/" , @"?" , @":" ,
                            @"@" , @"&" , @"=" , @"+" ,    @"$" , @"," ,
                            @"!", @"'", @"(", @")", @"*", nil];
    
    NSArray *replaceChars = [NSArray arrayWithObjects:@"%3B" , @"%2F", @"%3F" , @"%3A" ,
                             @"%40" , @"%26" , @"%3D" , @"%2B" , @"%24" , @"%2C" ,
                             @"%21", @"%27", @"%28", @"%29", @"%2A", nil];
    
    int len = [escapeChars count];
    
    NSMutableString *temp = [[originalString
                              stringByAddingPercentEscapesUsingEncoding:stringEncoding]
                             mutableCopy];
    
    int i;
    for (i = 0; i < len; i++) {
        
        [temp replaceOccurrencesOfString:[escapeChars objectAtIndex:i]
                              withString:[replaceChars objectAtIndex:i]
                                 options:NSLiteralSearch
                                   range:NSMakeRange(0, [temp length])];
    }
    
    NSString *outStr = [NSString stringWithString: temp];
    NSLog(@"%@",outStr);
    return outStr;
}

同样打开中文网址,需要解析参数时,也需要解码

NSString *strZW = ...//中文参数

NSString* stringDe = [strZW stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];







© 著作权归作者所有

共有 人打赏支持
abcMx
粉丝 15
博文 184
码字总数 63849
作品 0
无锡
程序员
私信 提问
python中的urlencode与urldecode

当url地址含有中文,或者参数有中文的时候,这个算是很正常了,但是把这样的url作为参数传递的时候(最常见的callback),需要把一些中文甚至'/'做一下编码转换。 一、urlencode urllib库里面...

君君君君
2018/04/16
0
0
urlencode()与urldecode()函数

string urlencode ( string $str ) — 编码 URL 字符串此函数便于将字符串编码 并将 其用于 URL 的请求部分,同时它还便于将变量传递给下一页。作用:对 url 加密 与 解密 ,其实就是对url中字...

ITCHN
2016/12/20
4
0
javascript 和php 内置实现 url 的编码和解码

#1 javascript encodeURI 和 decodeURI: encodeURI函数可以把任意的字符作为URI进行编码,而decodeURI函数可以对经过encodeURI编码过的字符进行解码还原。 浏览器端发起请求时包含有中文字符...

peaking
2014/05/29
0
0
PHP--------解决网址URL编码问题

在PHP中有urlencode()、urldecode()、rawurlencode()、rawurldecode()这些函数来解决网页URL编码解码问题。 理解urlencode: urlencode: 是指针对网页url中的中文字符的一种编码转化方式,最...

切切歆语
2018/01/11
0
0
echo json_encode() 输出中文不显示

PHP默认的jsonencode编码出来的是unicode编码的,也就是u的编码,用PHP的jsonencode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式。 虽然unicode编码可以在不同的页面...

ITCHN
2016/12/19
35
0

没有更多内容

加载失败,请刷新页面

加载更多

Confluence 6 升级中的一些常见问题

升级的时候遇到了问题了吗? 如果你想尝试重新进行升级的话,你需要首先重新恢复老的备份。不要尝试再次对 Confluence 进行升级或者在升级失败后重新启动老的 Confluence。 在升级过程中的一...

honeymoose
今天
2
0
C++随笔(四)Nuget打包

首先把自己编译好的包全部准备到一个文件夹 像这样 接下来新建一个文本文档,后缀名叫.nuspec 填写内容 <?xml version="1.0"?><package xmlns="http://schemas.microsoft.com/packaging/201......

Pulsar-V
今天
2
0
再谈使用开源软件搭建数据分析平台

三年前,我写了这篇博客使用开源软件快速搭建数据分析平台, 当时收到了许多的反馈,有50个点赞和300+的收藏。到现在我还能收到一些关于dataplay2的问题。在过去的三年,开源社区和新技术的发...

naughty
今天
3
0
Python3的日期和时间

python 中处理日期时间数据通常使用datetime和time库 因为这两个库中的一些功能有些重复,所以,首先我们来比较一下这两个库的区别,这可以帮助我们在适当的情况下时候合适的库。 在Python文...

编程老陆
今天
2
0
分布式面试整理

并发和并行 并行是两个任务同时进行,而并发呢,则是一会做一个任务一会又切换做另一个任务。 临界区 临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用,但是每一次,只能有...

群星纪元
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部