与 String removingPercentEncoding 不一致的行为:
Inconsistent behavior with String removingPercentEncoding:
我发现 Swift 3 的开源版本与 Xcode 8 使用 String 实例方法 removingPercentEncoding
:[=17= 附带的版本相比存在不一致的行为]
let testString = "valid àæ"
let escapedString = testString.removingPercentEncoding
在Xcode中,escapedString
的结果是"valid àæ"
。不过开源版Swiftreturns"valid à"
(缺少æ
)。
我错过了什么?
这是由于 CFStringGetLength
会 return 一个错误的非拉丁字符值。 _CFStringCreateByAddingPercentEncodingWithAllowedCharacters
和 _CFStringCreateByRemovingPercentEncoding
现已修复。
我发现 Swift 3 的开源版本与 Xcode 8 使用 String 实例方法 removingPercentEncoding
:[=17= 附带的版本相比存在不一致的行为]
let testString = "valid àæ"
let escapedString = testString.removingPercentEncoding
在Xcode中,escapedString
的结果是"valid àæ"
。不过开源版Swiftreturns"valid à"
(缺少æ
)。
我错过了什么?
这是由于 CFStringGetLength
会 return 一个错误的非拉丁字符值。 _CFStringCreateByAddingPercentEncodingWithAllowedCharacters
和 _CFStringCreateByRemovingPercentEncoding
现已修复。