iPhone URL编码问题

gab*_*m10 4 iphone xcode objective-c ipad

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

NSString *encodedString = [NSString stringWithFormat:@"xmlValue=%@",[post stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding]];
Run Code Online (Sandbox Code Playgroud)

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

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

@"<xml-service application=\"broadcast\" type=\"REQUEST\"><identity token=\"xxxxxxxx\".....
Run Code Online (Sandbox Code Playgroud)

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

Ben*_*Ben 6

这应该可以解决您的问题:

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

资源