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

How to encode Swift Arithmetic Operator Plus Sign (+) to utf8 data properly?

我正面临这样一种情况,我需要用国家代码(例如:+959450044651)对 phone 号码进行编码。并将其添加到 post 请求正文并制作 request.after 比我面对它未编码 属性 并且它似乎发送带有空字符串的字符串,例如“+959450044651”。如何解决这个问题?

这是我的编码代码

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

我得到的号码是空的 space 就像 :- " 959450044651"

但我需要 + Like :- "+959450044651"

您需要对加号进行百分比编码。只需将它的出现替换为“%2b”。请注意,将字符串转换为 utf8 数据时,它永远不会失败,因此您只需将其 UTF8View utf8 属性 传递给 Data 初始化程序:

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