在数据网路请求或其他情况下,需要将字符串转换成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即可。
来源:https://www.cnblogs.com/Free-Thinker/p/11206925.html