NSString * urlCached = URL.CacheImageURL;
NSURL * url = [NSURL URLWithString:urlCached];
NSData * data=[NSData dataWithContentsOfURL:url];
它适用于大多数 URL。但是,如果 URL 包含诸如 http://google.com/Hello World.htm 之类的空格,则它将不起作用。
对于此类 URL,我应该怎么做?
NSString * urlCached = URL.CacheImageURL;
NSURL * url = [NSURL URLWithString:urlCached];
NSData * data=[NSData dataWithContentsOfURL:url];
它适用于大多数 URL。但是,如果 URL 包含诸如 http://google.com/Hello World.htm 之类的空格,则它将不起作用。
对于此类 URL,我应该怎么做?
您可以对 URL 中无效的字符进行百分比转义:
NSURL *url = [NSURL URLWithString:
[urlCached stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
这很容易,但并不总是正确的;要转义有效的 URL 特殊字符 ( %
, &
, ?
, :
),请使用该CFURLCreateStringByAddingPercentEscapes()
函数。
对 URL 进行编码...使用 %20 而不是空格。供参考:http ://www.w3schools.com/tags/ref_urlencode.asp