Objective-C URL 字符串包含单个百分号
Objective-C URL string contains single percent sign
我有一个以百分号 (%) 结尾的字符串,
此字符串是为 URL 请求作为参数准备的:
NSString *parameter = @"/param=%";
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL urlWithString:[NSString stringWithFormat:@"http://www.whatev%@",parameter]]];
要求returnsnil
.
我试过:
NSString *parameter = @"/param=\uFF05";
//request returns nil
和
NSString *parameter = @"/param=%";
NSString *newParameter = [parameter stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//request returns /param=%25 ...where does 25 come from?!
我怎么可能只有 1% 转化为请求 url?
如有任何建议,我们将不胜感激。
百分号在URL中有特殊用途,用于对各种特殊字符进行编码。例如,space ( ) 是 %20,百分号本身是 %25。
http://en.wikipedia.org/wiki/Percent-encoding
最后一个应该是正确的,我想你在使用它作为请求时遇到了问题?
%
的转义序列是 %%
,因此 @"/param=%%"
应该可以解决问题
我有一个以百分号 (%) 结尾的字符串,
此字符串是为 URL 请求作为参数准备的:
NSString *parameter = @"/param=%";
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL urlWithString:[NSString stringWithFormat:@"http://www.whatev%@",parameter]]];
要求returnsnil
.
我试过:
NSString *parameter = @"/param=\uFF05";
//request returns nil
和
NSString *parameter = @"/param=%";
NSString *newParameter = [parameter stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//request returns /param=%25 ...where does 25 come from?!
我怎么可能只有 1% 转化为请求 url?
如有任何建议,我们将不胜感激。
百分号在URL中有特殊用途,用于对各种特殊字符进行编码。例如,space ( ) 是 %20,百分号本身是 %25。
http://en.wikipedia.org/wiki/Percent-encoding
最后一个应该是正确的,我想你在使用它作为请求时遇到了问题?
%
的转义序列是 %%
,因此 @"/param=%%"
应该可以解决问题