提问者:小点点

如何将Swift算术运算符加号(+)正确编码为utf8数据?


我面临的情况是,我需要用国家代码对电话号码进行编码(例如:+959450044651)。然后将其添加到post请求正文中并进行请求。之后,我将面对它的not encoded属性和它的貌似发送字符串(例如“+959450044651”)。 怎么能解决这个问题?

这是我的编码代码

let parameters = "phone=+959450044651"
var postData =  parameters.data(using: .utf8)

我得到的数字和空的空间如:-“959450044651”

但我需要+Like:-“+959450044651”


共1个答案

匿名用户

您需要对加号进行百分比编码。 只需将其出现次数替换为“%2b”即可。 请注意,当将字符串转换为utf8数据时,它永远不会失败,因此您可以简单地将其UTF8Viewutf8属性传递给data初始值设定项:

let parameters = "phone=+959450044651"
let postData =  Data(parameters.replacingOccurrences(of: "+", with: "%2b").utf8)