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

Метод encode_utf16

Метод encode_utf16 возвращает итератор, который выдаёт 16-битные кодовые единицы UTF-16 для данной строки. Метод не принимает параметров. Каждый символ строки преобразуется в одну или две кодовые единицы u16 в зависимости от его кодовой позиции в Unicode.

Синтаксис

str.encode_utf16()

Пример

Давайте закодируем строку "abcde" в последовательность кодовых единиц UTF-16 и выведем их:

fn main() { let res: Vec<u16> = "abcde".encode_utf16().collect(); println!("{:?}", res); }

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

[97, 98, 99, 100, 101]

Пример

Давайте закодируем строку с символом вне базовой многоязычной плоскости, например эмодзи, и посмотрим, сколько кодовых единиц он занимает:

fn main() { let res: Vec<u16> = "😀".encode_utf16().collect(); println!("{:?}", res); println!("{}", res.len()); }

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

[55357, 56832] 2

Пример

Давайте посчитаем количество кодовых единиц UTF-16 для строки "12345" с помощью метода count:

fn main() { let res = "12345".encode_utf16().count(); println!("{}", res); }

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

5

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

  • метод chars,
    который возвращает итератор по символам строки
  • метод bytes,
    который возвращает итератор по байтам строки
  • метод len,
    который возвращает длину строки в байтах
  • метод from_utf8,
    который создаёт строку из среза байтов UTF-8
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить