在数据网路请求或其他情况下,需要将字符串转换成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即可。