iOS

UTF-8和NSString的相互转换

2017-05-09  本文已影响0人  寻常_0

在做网络请求的时候拼接的参数有中文字符,这是我们需要转译一下,再做请求操作。

NSString 转 UTF-8

//现在有这样一个字符串
NSString *str =  @"/GetVIPFreeProduct?key=大爱&Category=&isHot=0&PageIndex=1&PageSize=10"
//其中url里带有中文我们是请求不成功的,需要我们转码一下

str = [str stringByAddingPercentEscapesUsingEncoding:

NSUTF8StringEncoding];

之前我们是用这个方法,但是在ios9这个方法废弃了 

iOS 9后用如下方法转
 NSString *str1 = [str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

//编码后
@"GetVIPFreeProduct?key=%E5%A4%A7%E7%88%B1&Category=&isHot=0&PageIndex=1&PageSize=10"

UTF-8 转 NSString

//我们要想将转译后的字符串在转回之前的格式那
//以前我们用的方法是
//str是我们刚才转译成utf8编码的字符串
NSString *str1 = [str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

//iOS 9同样废弃了这个方法 现在使用
NSString *str1 = [str stringByRemovingPercentEncoding];
上一篇下一篇

猜你喜欢

热点阅读