有一点问题。试图将XML发布到服务器。为此,我必须以URL格式对XML字符串进行编码。
NSString *encodedString = [NSString stringWithFormat:@"xmlValue=%@",[post stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding]];
这就是我所拥有的,它适用于所有字符,除了'='。这不会转换为%3D。有没有其他人曾经遇到过这个问题?我指定了错误的编码类型吗?我也试过“NSUTF8StringEncoding”。
这是XML字符串的一小部分:
@"<xml-service application=\"broadcast\" type=\"REQUEST\"><identity token=\"xxxxxxxx\".....
任何帮助将不胜感激!谢谢
答案 0 :(得分:6)
这可以解决您的问题:
NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL,
(CFStringRef)unencodedString,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8 );
答案 1 :(得分:-1)
你可以试试这个。我觉得这很有帮助。
NSString *sampleUrl = @"http://www.google.com/search.jsp?params=Java Developer";
NSString* encodedUrl = [sampleUrl stringByAddingPercentEscapesUsingEncoding:
NSASCIIStringEncoding];