前言
今天遇到一个问题,本地将一个对象转成JSON字符串后传给后台,由于出现特殊字符&导致后台无法正确处理该字符串。经过一番Google,现将问题及解决方法记录如下。
解决方案
附上stackoverflow地址 http://stackoverflow.com/questions/24551816/swift-encode-url
附上常用字符集的解释 注释部分是对应的处理特殊字符的内容
URLFragmentAllowedCharacterSet // "#%<>[\]^`{|}
URLHostAllowedCharacterSet // "#%/<>?@\^`{|}
URLPasswordAllowedCharacterSet // "#%/:<>?@[\]^`{|}
URLPathAllowedCharacterSet // "#%;<>?[\]^`{|}
URLQueryAllowedCharacterSet // "#%<>[\]^`{|}
URLUserAllowedCharacterSet // "#%/:<>?@[\]^`
//swift3写法
let allowedCharacterSet = (CharacterSet(charactersIn: "!*'();:@&=+$,/?%#[] ").inverted)
if let escapedString = originalString.addingPercentEncoding(withAllowedCharacters: allowedCharacterSet) {
//do something with escaped string
}
评论(已关闭)
评论已关闭