iPhone URL编码问题

时间:2010-10-13 14:41:18

标签: iphone objective-c xcode ipad

有一点问题。试图将XML发布到服务器。为此,我必须以URL格式对XML字符串进行编码。

NSString *encodedString = [NSString stringWithFormat:@"xmlValue=%@",[post stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding]];

这就是我所拥有的,它适用于所有字符,除了'='。这不会转换为%3D。有没有其他人曾经遇到过这个问题?我指定了错误的编码类型吗?我也试过“NSUTF8StringEncoding”。

这是XML字符串的一小部分:

@"<xml-service application=\"broadcast\" type=\"REQUEST\"><identity token=\"xxxxxxxx\".....

任何帮助将不胜感激!谢谢

2 个答案:

答案 0 :(得分:6)

这可以解决您的问题:

  NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(
    NULL,
    (CFStringRef)unencodedString,
    NULL,
    (CFStringRef)@"!*'();:@&=+$,/?%#[]",
    kCFStringEncodingUTF8 );

Source

答案 1 :(得分:-1)

你可以试试这个。我觉得这很有帮助。

NSString *sampleUrl = @"http://www.google.com/search.jsp?params=Java Developer";
NSString* encodedUrl = [sampleUrl stringByAddingPercentEscapesUsingEncoding:
 NSASCIIStringEncoding];