Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 张贴所需的符号“和”&&引用;Swift的输入参数_Ios_Swift_Post_Ampersand - Fatal编程技术网

Ios 张贴所需的符号“和”&&引用;Swift的输入参数

Ios 张贴所需的符号“和”&&引用;Swift的输入参数,ios,swift,post,ampersand,Ios,Swift,Post,Ampersand,我正在制作一篇文章,其中一个参数中有一个必需的“&”。我尝试了%26使用NSUTF8StringEncoding和stringByAddingPercentEscapesUsingEncodqing(NSUTF8StringEncoding)。不工作了 let params = "designers=dolce%26gabbana" let nStr = params.stringByAddingPercentEscapesUsingEncodqing(NSUTF8StringEncod

我正在制作一篇文章,其中一个参数中有一个必需的“&”。我尝试了
%26
使用
NSUTF8StringEncoding
stringByAddingPercentEscapesUsingEncodqing(NSUTF8StringEncoding)
。不工作了

let params = "designers=dolce%26gabbana"    
let nStr = params.stringByAddingPercentEscapesUsingEncodqing(NSUTF8StringEncoding)
let postData = nStr?.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
request.HTTPBody = postData
im POST的字符串是“Dolce&Gabbana”,服务器只识别带有“&”的字符串


谢谢

您应该尝试使用
CFURLCreateStringByAddingPercentEscapes
因为
StringByAddingPercentEscapeSusingEncoding
不会对所有字符进行转义。通过使用
cfurlCreateStringByAddingPercents转义
,您可以选择要转义的字符

例如:

var encodedStr = CFURLCreateStringByAddingPercentEscapes(
    nil,
    "Dolce & Gabbana",
    nil,
    "&", //you can add another special characters
    CFStringBuiltInEncodings.UTF8.rawValue
)

关于此主题(在Objective-C中)

谢谢!我将如何为HTTPBody编码它?CFSTRING没有.dataUsingEncoding(NSUTF8StringEncoding,allowLossyConversion:true)。请尝试通过
让str=String(encoder)
获取第一个字符串,然后转换为
NSData
。在解码参数时,服务器端会出现问题吗?