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

Функция from_utf8

Функция from_utf8 преобразует срез байтов в строку &str, проверяя, что байты представляют корректную последовательность UTF-8. Параметром функция принимает срез байтов, который нужно преобразовать. Функция возвращает Result: при успехе - строку &str, при ошибке - ошибку Utf8Error, содержащую позицию первого некорректного байта.

Синтаксис

str::from_utf8(bytes)

Пример

Давайте преобразуем корректный срез байтов b"abcde" в строку:

fn main() { let bytes = b"abcde"; let res = str::from_utf8(bytes); println!("{:?}", res); }

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

Ok("abcde")

Пример

Давайте попробуем преобразовать срез с некорректным UTF-8:

fn main() { let bytes = &[0xFF, 0xFE, 0xFD]; let res = str::from_utf8(bytes); println!("{:?}", res); }

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

Err(Utf8Error { valid_up_to: 0, error_len: Some(1) })

Пример

Давайте используем from_utf8 для проверки байтов перед созданием строки:

fn main() { let bytes = b"12345"; match str::from_utf8(bytes) { Ok(s) => println!("Valid string: {}", s), Err(e) => println!("Error: {}", e), } }

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

Valid string: 12345

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

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