Swift字符串到ascii数组西里尔字母

时间:2016-11-28 16:32:08

标签: swift string ascii cyrillic

此字符串扩展名使用拉丁字符,但不适用于西里尔语。有人可以解释原因,我该如何解决?

extension String {
    var asciiArray: [UInt32] {
        return unicodeScalars.filter{$0.isASCII}.map{$0.value}
    }
}

1 个答案:

答案 0 :(得分:3)

我认为您将原始的ASCII标准与其中一个西里尔语扩展(例如KOI-8R)混淆。原始ASCII是7位,而扩展名会使用高于127(最多255)的代码用于其目的。

isASCII类型上的Swift UnicodeScalar属性表示标量是否来自原始ASCII。