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

Функция from_utf8_unchecked

Функция from_utf8_unchecked преобразует срез байтов в строковое представление &str без проверки того, что байты являются корректной последовательностью UTF-8. Параметром функция принимает срез байтов &[u8], который нужно преобразовать в строку.

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

Синтаксис

unsafe { std::str::from_utf8_unchecked(bytes) }

Пример

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

fn main() { let bytes: &[u8] = b"abcde"; let res = unsafe { std::str::from_utf8_unchecked(bytes) }; println!("{}", res); }

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

"abcde"

Пример

Давайте преобразуем байты, содержащие русские буквы в кодировке UTF-8:

fn main() { let bytes: &[u8] = "привет".as_bytes(); let res = unsafe { std::str::from_utf8_unchecked(bytes) }; println!("{}", res); }

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

"привет"

Пример

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

fn main() { let bytes: &[u8] = b"12345"; let res = unsafe { std::str::from_utf8_unchecked(bytes) }; println!("{}", res.len()); }

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

5

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

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