如何处理带有空格的URL?

时间:2013-05-02 05:55:54

标签: objective-c

NSString * urlCached = URL.CacheImageURL;
NSURL * url = [NSURL URLWithString:urlCached];
NSData * data=[NSData dataWithContentsOfURL:url];

它适用于大多数网址。但是,如果网址包含http://google.com/Hello World.htm等空格,那么它就无法工作。

我该怎么做这些网址?

2 个答案:

答案 0 :(得分:5)

您可以在网址中转义百分比转义无效的字符:

NSURL *url = [NSURL URLWithString:
    [urlCached stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

这很容易,但并不总是正确的;用于转义有效的网址特殊字符(%&?:) 同样,使用CFURLCreateStringByAddingPercentEscapes()函数。

答案 1 :(得分:1)

对网址进行编码...使用%20代替空格。供参考:http://www.w3schools.com/tags/ref_urlencode.asp