0

我有一个以百分号(%)结尾的字符串,

此字符串是为 URL 请求准备的参数:

NSString *parameter = @"/param=%";
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL urlWithString:[NSString stringWithFormat:@"http://www.whatev%@",parameter]]];

请求返回nil

我试过了:

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?

任何意见,将不胜感激。

4

2 回答 2

0

百分号在 URL 中具有特殊用途,用于对各种特殊字符进行编码。例如,空格 ( ) 是 %20,百分号本身是 %25。

http://en.wikipedia.org/wiki/Percent-encoding

最后一个应该是正确的,我假设您在使用它作为请求时遇到问题?

于 2015-04-20T10:51:12.017 回答
0

%is 的转义序列%%,所以@"/param=%%"应该可以解决问题

于 2015-04-20T10:52:11.783 回答