iOSURL特殊字符处理

项目中加载图片时因为图片地址中有特殊字符,导致图片无法加载,错误但写法是:

NSString *str = [NSString stringWithFormat:@"%@",@"http://cphead.image.cihi.cn/develop/201504/RjfNR2Bt]DiyZFn`Zq$nQzm.jpg!prop"];
NSURL *url = [NSURL URLWithString:str];
[self.testUIImageView setImageWithURL:url];

正确但写法

NSString *str = [NSString stringWithFormat:@"%@",@"http://cphead.image.cihi.cn/develop/201504/RjfNR2Bt]DiyZFn`Zq$nQzm.jpg!prop"];
NSString *urlStr = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:urlStr];
[self.testUIImageView setImageWithURL:url];

错误分析过程,当把urlString不经过处理直接使用的时候发现,传入setImageWithURL的url是null,而把url直接放入浏览器发现url变成了
http://cphead.image.cihi.cn/develop/201504/RjfNR2Bt]DiyZFn%60Zq$nQzm.jpg!prop
显然URL经过了浏览器的编码处理。所以问题解决办法就很明显了。

欢迎关注我的公众号与我交流

iOSURL特殊字符处理_第1张图片
RiverLi的公众号

你可能感兴趣的:(iOSURL特殊字符处理)