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

Метод as_bytes

Метод as_bytes возвращает строку в виде среза байтов типа &[u8]. Метод не принимает параметров и не изменяет исходную строку. Полученный срез можно использовать для побайтовой обработки строки, например, для доступа к отдельным байтам по индексу, перебора байтов или передачи данных в функции, которые работают с байтовыми срезами.

Стоит помнить, что для кириллицы и других не-ASCII символов один символ кодируется несколькими байтами в кодировке UTF-8, поэтому длина байтового среза может быть больше количества символов в строке.

Синтаксис

str.as_bytes()

Пример

Давайте получим байтовый срез строки "abcde" и выведем его на экран:

fn main() { let res = "abcde".as_bytes(); println!("{:?}", res); }

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

[97, 98, 99, 100, 101]

Пример

Давайте получим длину байтового среза строки "abcde" с помощью метода len:

fn main() { let res = "abcde".as_bytes().len(); println!("{}", res); }

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

5

Пример

Давайте получим байтовый срез строки "абв" и убедимся, что количество байтов больше количества символов:

fn main() { let res = "абв".as_bytes(); println!("{:?}", res); println!("bytes: {}", res.len()); println!("chars: {}", "абв".chars().count()); }

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

[208, 176, 208, 177, 208, 178] bytes: 6 chars: 3

Пример

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

fn main() { let bytes = "abcde".as_bytes(); let res = bytes[0]; println!("{}", res); }

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

97

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

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