iOS URL中汉字的编码和解码

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

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

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

示例:

NSString* string1 = @"https://www.cloudsafe.com/文件夹";

NSString* string2 = [string1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSString* string3 = [string2 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSString* string4 = [string2 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSString* string5 = [string3 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSString* string6 = [string4 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSString* string7 = [string5 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

输出结果: string5 & 6 重复编码encode

string1:https://www.cloudsafe.com/文件夹

string2:https://www.cloudsafe.com/%E6%96%87%E4%BB%B6%E5%A4%B9

string3:https://www.cloudsafe.com/%25E6%2596%2587%25E4%25BB%25B6%25E5%25A4%25B9

string4:https://www.cloudsafe.com/文件夹

string5:https://www.cloudsafe.com/%E6%96%87%E4%BB%B6%E5%A4%B9

string6:https://www.cloudsafe.com/文件夹

string7:https://www.cloudsafe.com/文件夹

iOS URL中汉字的编码和解码,布布扣,bubuko.com

时间: 2024-12-15 10:59:20

iOS URL中汉字的编码和解码的相关文章

网址URL中特殊字符转义编码

网址URL中特殊字符转义编码 字符    -    URL编码值 空格    -    %20 "          -    %22 #         -    %23 %        -    %25 &         -    %26 (          -    %28 )          -    %29 +         -    %2B ,          -    %2C /          -    %2F :          -    %3A ;  

Python中进行Base64编码和解码

Base64编码是一种“防君子不防小人”的编码方式.广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符.优点:速度快,ascii字符,肉眼不可理解缺点:编码比较长,非常容易被破解,仅适用于加密非关键信息的场合Python中进行Base64编码和解码>>> import base64>>> s = '我是字符串'>>> a = base64.b64encode(s)>>>

URL中字符串的编码及URL跳转

提交表单的时候,字符串中就是经过编码的字符.空格.反斜杠都会被转义. 使用一下的代码,就能起到一样的转义效果, 其中param是一个Json键值对. for(var p in param){ temp.push(p+"="+encodeURIComponent(param[p] || '')); } 构造一个提交的URL 其中temp是一个数组,获取数组的长度使用了属性length. 还用了JQuery的each方法.each方法中,key表示数组的下标,value表示key对于的te

多媒体开发之--- rtsp 中的H264 编码+打包+解码相关知识es、pes、ts...

1)ES流(Elementary Stream): 也叫基本码流,包含视频.音频或数据的连续码流. 2)PES流(Packet Elementary Stream): 也叫打包的基本码流, 是将基本的码流ES流根据需要分成长度不等的数据包, 并加上包头就形成了打包的基本码流PES流. 3)TS流(Transport Stream): 也叫传输流, 是由固定长度为188字节的包组成, 含有独立时基的一个或多个program, 一个program又可以包含多个视频.音频.和文字信息的ES流; 每个E

Android中常用的编码和解码(加密和解密)的问题

1. URL Encoding     编码目的是为了在?址上可以包含中文等特殊字符解码是为了把编码后的内容还原成原始的内容格式如下%9C%3C%F3%98 规则: %hex_byte 就是将实际的字节转换为十六进制进行显示编码URLEncoder.encode(String str, String charset) 解码 URLDecoder.encode(String str, String charset) eg.    %E6%88%91%E6%98%AFvhly%EF%BC%8C%E4

iOS 自带的base64 编码与解码

在我们项目中需要将一个NSData类型的数据进行base64编码为一个字符串进行传输.这里记录下编码和解码的方式 编码: UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"di1" ofType:@"jpg"]]]; NSData *dataFromImage = UIImageJPEGRepr

IE内核发送ajax请求时不会将url中的参数编码

有一次用户遇到创建文件,名称为中文时乱码的问题. 经调查,发现用户使用的是国产浏览器ie模式 抓取请求发现 IE: 键 值请求 POST /Handlers/CreateTxtFile.ashx?filename=阿斯达是.txt HTTP/1.1Accept */*Content-Type application/x-www-form-urlencoded; charset=UTF-8X-Requested-With XMLHttpRequestReferer http://mt.sogou.

URL安全的Base64编码,解码

Base64可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成"+","/","="这些被URL进行转码的特殊字符,导致两方面数据不一致. 我们可以在发送前将"+","/","="替换成URL不会转码的字符,接收到数据后,再将这些字符替换回去,再进行解码. PHP: /** * URL base64解码 * '-' -> '+' * '_' -> '

Python中字符的编码与解码

1 文本和字节序列 我们都知道字符串,就是由一些字符组成的序列构成串,那么字符又是什么呢?计算机只能识别二进制的东西,那么计算机又为什么会显示我们的汉字,或者是某个字母呢? 由于最早发明使用计算机是美国人,他们为了解决了英语如何在电脑上显示,就制定了一套标准:ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码),主要用于显示现代英语和其他西欧语言.到目前为止共定义了128个字符,从0-127的二进制数分别