在请求网络图片时用到了中文的url,比如”http://www.test.com/你好.jpg”,直接使用上述url进行网络请求是没法得到结果的,需要对其进行UTF8编码。
之前可以采用以下方式进行编码。
NSString *str = @"http://www.test.com/你好.jpg";
NSString *result = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
但是这种方式在iOS SDK9中被废弃了,取而代之的是如下方法。
NSString *str = @"http://www.test.com/你好.jpg";
NSString *result = [str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
其中stringByAddingPercentEncodingWithAllowedCharacters方法默认采用的就是UTF8编码,不需要另外的参数,只需要在最后添加上相应的NSCharacterSet即可。