Метод into_bytes
Метод into_bytes преобразует строку String
в вектор байтов Vec<u8>. Метод потребляет
исходную строку, то есть после вызова into_bytes
исходная переменная становится недоступной. Параметров
метод не принимает. Возвращает вектор байтов в кодировке UTF-8.
Синтаксис
String::into_bytes(self) -> Vec<u8>
Пример
Давайте преобразуем строку "abcde"
в вектор байтов:
fn main()
{
let s = String::from("abcde");
let res = s.into_bytes();
println!("{:?}", res);
}
Результат выполнения кода:
[97, 98, 99, 100, 101]
Пример
Давайте преобразуем строку с русскими символами в вектор байтов и посмотрим на длину:
fn main()
{
let s = String::from("привет");
let res = s.into_bytes();
println!("{:?}", res);
println!("Length: {}", res.len());
}
Результат выполнения кода:
[208, 191, 209, 128, 208, 184, 208, 178, 208, 181, 209, 130]
Length: 12
Пример
Давайте преобразуем строку в вектор байтов и модифицируем его:
fn main()
{
let s = String::from("12345");
let mut res = s.into_bytes();
res.push(54);
println!("{:?}", res);
}
Результат выполнения кода:
[49, 50, 51, 52, 53, 54]
Смотрите также
-
класс
String,
который представляет собой изменяемую строку -
метод
as_str,
который возвращает строковый срез без потребления строки -
метод
into_boxed_str,
который преобразует строку в Box -
метод
from_utf8,
который создаёт строку из вектора байтов