标签: swift string ascii cyrillic
此字符串扩展名使用拉丁字符,但不适用于西里尔语。有人可以解释原因,我该如何解决?
extension String { var asciiArray: [UInt32] { return unicodeScalars.filter{$0.isASCII}.map{$0.value} } }
答案 0 :(得分:3)
我认为您将原始的ASCII标准与其中一个西里尔语扩展(例如KOI-8R)混淆。原始ASCII是7位,而扩展名会使用高于127(最多255)的代码用于其目的。
isASCII类型上的Swift UnicodeScalar属性表示标量是否来自原始ASCII。
isASCII
UnicodeScalar