func handledStr(with specialStr: String) -> String {
var newStr :String = ""
_ = specialStr.unicodeScalars.map{
let handleStr = String(unicodeScalarLiteral: "\($0)")
//关于中文的处理
if $0.value > 0x4e00 && $0.value < 0x9fff {
if let a = handleStr.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed){
newStr += a
}
}else {
//关于空格的处理
if handleStr.contains(" ") {
newStr += "%20"
}else {
newStr += handleStr
}
}
}
return newStr
}
思路:
遍历字符串中的每个字符,然后判断是否为中文
是,进行中文的转义;
不是,则进行空格判断。
建议:
直接建议后台进行相应的转义处理。app端如果每次每个链接都要进行这个转义,就显得蹩脚麻烦还耗时间。