我正在发帖,其中一个参数中包含必需的“&”。我已经为 & 和 NSUTF8StringEncoding
以及 stringByAddingPercentEscapesUsingEncodqing(NSUTF8StringEncoding)
尝试了 %26
。仍然无法正常工作。
let params = "designers=dolce%26gabbana"
let nStr = params.stringByAddingPercentEscapesUsingEncodqing(NSUTF8StringEncoding)
let postData = nStr?.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
request.HTTPBody = postData
我发布的字符串是“Dolce & Gabbana”,服务器只用“&”识别它。
谢谢!
最佳答案
您应该尝试使用 CFURLCreateStringByAddingPercentEscapes
因为 stringByAddingPercentEscapesUsingEncodqing
不会转义所有字符。通过使用 CFURLCreateStringByAddingPercentEscapes
,您可以选择要转义的字符。
例子:
var encodedStr = CFURLCreateStringByAddingPercentEscapes(
nil,
"Dolce & Gabbana",
nil,
"&", //you can add another special characters
CFStringBuiltInEncodings.UTF8.rawValue
)
Here is another SO question关于这个主题(在 Objective-C 中)
关于ios - Swift 参数中的 POST 需要符号 "&",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29710449/