Ale*_*ier 1 xcode objective-c nsurl non-ascii-characters ios
我正在尝试使用特殊字符创建一个NSURL,如"","|"," - ",":"等.如果我的字符串中有任何这些字符,则NSURL不会初始化.如何使用这些字符创建NSURL?以下不起作用:
NSURL *url = [[NSURL alloc] initWithString:@"http://google.com?id=|test|"]; //if i remove the | it works.
Run Code Online (Sandbox Code Playgroud)
使用提供的URL字符串初始化NSURL对象.
- (id)initWithString:(NSString*)URLString
参数 - URLString
用于初始化NSURL对象的URL字符串.此URL字符串必须符合RFC 2396中所述的URL格式,且不得为零.该方法根据RFC 1738和1808解析URLString.
回报价值
使用URLString初始化的NSURL对象.如果URL字符串格式错误,则返回nil.
讨论
此方法要求URLString仅包含正确形成的URL中允许的字符.所有其他字符必须正确转义百分比.使用UTF-8编码解释任何百分比转义字符.
您需要先将字符串编码为url.其中一个解决方案是使用 [NSString stringByAddingPercentEscapesUsingEncoding:] [1]
关于将字符串编码为url的Stackoverflow还有其他讨论:
| 归档时间: |
|
| 查看次数: |
1265 次 |
| 最近记录: |