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];