iOS / swift 中的 UTF8 编码用于包含 + 的电子邮件

UTF8 Encoding in iOS / swift for email containing +

如何使用查询字符串格式的 UTF8 编码对 URL 参数进行编码 URL/param1/param2/param3

我什至试过 URLHostAllowedCharacterSet,它编码特殊字符而不是 '+' 字符。

如何使用 almofire 请求对包含 + 字符的电子邮件进行编码?

尝试添加一个扩展来处理编码,然后在您想要编码时调用扩展。

extension String {
    func stringByAddingPercentEncodingForRFC3986() -> String? {
        let unreserved = "-._~/?:"
        let allowed = NSMutableCharacterSet.alphanumericCharacterSet()
        allowed.addCharactersInString(unreserved)
        return stringByAddingPercentEncodingWithAllowedCharacters(allowed)
    }
}

然后使用它:

let query = "http://test.com/param1& param2+ param3"
let encoded = query.stringByAddingPercentEncodingForRFC3986()!