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

Hem*_*har -1 ios afnetworking swift

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

我什至尝试了URLHostAllowedCharacterSet,它编码特殊字符,但不编码“ +”字符。

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

Ras*_*n L 5

尝试添加扩展名以处理编码,然后在要编码时调用扩展名。

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

然后使用它:

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