我有一个以百分号(%)结尾的字符串,
此字符串是为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?!
我怎么能只有一个%转换为请求网址?
任何建议都将受到赞赏。
答案 0 :(得分:0)
百分号在URL中有特殊用途,用于编码各种特殊字符。例如,space()是%20,百分号本身是%25。
http://en.wikipedia.org/wiki/Percent-encoding
最后一个应该是正确的,我假设您在将其用作请求时遇到问题?
答案 1 :(得分:0)
%
的转义序列为%%
,因此@"/param=%%"
应该可以解决问题