这个问题在这里已有答案:
我正在编码我的字符串来打网页服务。我正在使用addsPercentEncoding(withAllowedCharacters:CharacterSet)来编码我的String。
一切正常,除了'(撇号)字符被编码为%E2%80%99而不是%27。
if let _keyword = keyword?
.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) {
parameters?["keyword"] = _keyword
}
例如:
当关键字是Maggie时,输出=“Maggie%E2%80%99s”而不是“Maggie%27s”。
当关键字是Jelly Extracts输出为“Jelly%20Extracts”时,输出对其他人来说很好。
那么,我如何正确编码'(撇号)到%27
编辑:当我传递静态文本时,如“Maggie's.addingPercentEncoding(withAllowedCharacters:.urlQueryAllowed)”输出是正确的但是当我将它包装在变量输出中时出现错误。
而不是urlQueryAllowed
使用alphanumerics
。
let originalString = "Maggie's"
let escapedString = originalString.addingPercentEncoding(withAllowedCharacters: .alphanumerics)
print(escapedString) // Optional("Maggie%27s")