Быстрая строка в массив ascii, кириллица

Это расширение строки работает с латинскими символами, но не работает с кириллицей. Может кто-нибудь объяснить, почему, и как я могу это исправить?

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

1 ответ

Я думаю, что вы путаете оригинальный стандарт ASCII с одним из его расширений кириллицы (например, KOI-8R). Исходный ASCII является 7-битным, тогда как расширение будет использовать коды выше 127 (и до 255) для своих целей.

Свифта isASCII собственность на UnicodeScalar Тип указывает, является ли скаляр из исходного ASCII.

Другие вопросы по тегам