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

Функция from_utf16_lossy

Функция from_utf16_lossy преобразует срез значений типа u16, представляющих кодовые единицы UTF-16, в новую строку String. Параметром функция принимает срез &[u16]. Если во входных данных встречаются некорректные последовательности UTF-16, они заменяются на символ замены U+FFFD. В отличие от from_utf16, эта функция не возвращает Result и никогда не завершается ошибкой.

Синтаксис

String::from_utf16_lossy(v: &[u16]) -> String

Пример

Давайте создадим строку из корректной последовательности UTF-16, представляющей текст "abcde":

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

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

"abcde"

Пример

Давайте передадим некорректную последовательность UTF-16, содержащую одиночную старшую кодовую единицу без пары:

fn main() { let utf16: Vec<u16> = vec![0x0061, 0xD800, 0x0062]; let res = String::from_utf16_lossy(&utf16); println!("{}", res); }

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

"a�b"

Пример

Давайте создадим строку из корректной суррогатной пары UTF-16, представляющей символ эмодзи:

fn main() { let utf16: Vec<u16> = vec![0xD83D, 0xDE00]; let res = String::from_utf16_lossy(&utf16); println!("{}", res); }

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

"😀"

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

  • функция from_utf16,
    которая создаёт строку из UTF-16 с проверкой корректности
  • функция from_utf8_lossy,
    которая создаёт строку из UTF-8 с заменой некорректных байтов
  • функция from_utf8,
    которая создаёт строку из UTF-8 с проверкой корректности
  • класс String,
    который представляет изменяемую строку в Rust
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить