РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
59 of 723 menu

Тип Runes

Тип Runes - последовательность юникодных кодов символов строки. Каждый элемент имеет тип int. Свойство length у String считает кодовые единицы UTF-16, а не символы. Символ за пределами базовой плоскости занимает две такие единицы и один код в Runes. Получить последовательность можно свойством runes строки. Тип Runes является подтипом Iterable<int>.

Синтаксис

Runes name = 'abcde'.runes;

Пример

Давайте получим коды символов строки 'abcde'. Код буквы a равен 97:

void main() { Runes res = 'abcde'.runes; print(res); print(res.first); }

Результат выполнения кода:

(97, 98, 99, 100, 101) 97

Пример

Давайте сравним длину строки и число кодов для одного символа вне базовой плоскости. Запись \u{1F600} - это один эмодзи:

void main() { String text = '\u{1F600}'; print(text.length); print(text.runes.length); print(text.runes.first); }

Результат выполнения кода:

2 1 128512

Пример

Давайте переберём коды короткой строки циклом for-in:

void main() { Runes res = 'abc'.runes; for (int code in res) { print(code); } }

Результат выполнения кода:

97 98 99

Смотрите также

  • тип String,
    который хранит текст
  • свойство runes,
    которое возвращает коды символов строки
  • класс Runes,
    в котором разобрана последовательность кодов
  • тип Iterable,
    который задаёт последовательный перебор
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить