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

Функция from_utf8_lossy

Функция from_utf8_lossy преобразует срез байтов в строку. Если байты содержат некорректные UTF-8 последовательности, они заменяются на символ замены . Параметром функция принимает срез байтов, который нужно преобразовать.

Синтаксис

String::from_utf8_lossy(&bytes)

Пример

Давайте преобразуем корректный срез байтов vec![104, 101, 108, 108, 111] в строку:

fn main() { let bytes = vec![104, 101, 108, 108, 111]; let res = String::from_utf8_lossy(&bytes); println!("{}", res); }

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

"hello"

Пример

Давайте преобразуем срез байтов vec![104, 101, 255, 108, 111], содержащий некорректный байт:

fn main() { let bytes = vec![104, 101, 255, 108, 111]; let res = String::from_utf8_lossy(&bytes); println!("{}", res); }

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

"he�lo"

Пример

Давайте преобразуем пустой срез байтов в строку:

fn main() { let bytes: Vec<u8> = vec![]; let res = String::from_utf8_lossy(&bytes); println!("{}", res); }

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

""

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

  • метод from_utf8,
    который преобразует байты в строку с проверкой корректности
  • метод from_utf8_unchecked,
    который преобразует байты в строку без проверки корректности
  • метод from_utf16_lossy,
    который преобразует UTF-16 байты в строку с потерей некорректных символов
  • метод from,
    который создаёт строку из различных типов данных
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить