在数据网路请求或其他情况下,需要将字符串转换成UTF-8编码 ios9后对其方法进行了修改
NSString *str = @"北京";
把这个转成UTF8以前我们使用的是
NSString *str3 = [str stringByAddingPercentEscapesUsingEncoding:
NSUTF8StringEncoding];
但是在ios9这个方法废弃了
用如下方法转
NSString *str1 = [str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
那如果想转成“北京”这个字符串怎么办呢 ,不用担心有方法的
还是说以前我们用的方法是
NSString *str3 = [str1stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
ios9同样废弃了这个方法 现在使用
NSString *str2 = [str1 stringByRemovingPercentEncoding];
iOS9现在使用的转码方法:
NSString *str = @"http://www.test.com/你好.jpg";
NSString *result = [str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
其中stringByAddingPercentEncodingWithAllowedCharacters方法默认采用的就是UTF8编码,不需要另外的参数,只需要在最后添加上相应的NSCharacterSet即可。
网友评论