我发现Swift 3的开源版本与使用String实例方法removingPercentEncoding
的Xcode 8附带的版本的行为不一致:
let testString = "valid àæ"
let escapedString = testString.removingPercentEncoding
在Xcode中,escapedString
的结果为"valid àæ"
。但是,Swift的开源版本返回"valid à"
(缺少æ
)。
我错过了什么?
答案 0 :(得分:0)
这是由于CFStringGetLength
将为非拉丁字符返回错误值的错误。 _CFStringCreateByAddingPercentEncodingWithAllowedCharacters
和_CFStringCreateByRemovingPercentEncoding
现已修复。