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

Функция from_utf8_unchecked

Функция from_utf8_unchecked создает новую строку типа String из вектора байтов (Vec<u8>) без проверки того, является ли последовательность байтов корректной строкой UTF-8. Параметром функция принимает вектор байтов, который нужно преобразовать в строку.

Эта функция является небезопасной (unsafe), поскольку при передаче некорректных данных поведение программы становится неопределенным. Используйте её только тогда, когда вы абсолютно уверены, что байты образуют корректную строку UTF-8.

Синтаксис

unsafe { String::from_utf8_unchecked(vec) }

Пример

Давайте создадим строку из вектора байтов, которые являются корректной последовательностью UTF-8:

fn main() { let bytes = vec![97, 98, 99, 100, 101]; let res = unsafe { String::from_utf8_unchecked(bytes) }; println!("{}", res); }

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

"abcde"

Пример

Давайте создадим строку из вектора байтов, которые являются корректной последовательностью UTF-8 для кириллицы:

fn main() { let bytes = vec![208, 159, 209, 128, 208, 184, 208, 178, 208, 181, 209, 130]; let res = unsafe { String::from_utf8_unchecked(bytes) }; println!("{}", res); }

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

"Привет"

Пример

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

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

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

""

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

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