Метод bytes
Метод bytes возвращает итератор, который
последовательно читает байты из источника данных.
Он не принимает параметров и возвращает значение
типа Bytes, реализующее трейт
Iterator. Каждый элемент итератора имеет
тип Result<u8, std::io::Error>.
Синтаксис
reader.bytes()
Пример
Давайте прочитаем байты из строки "abcde":
use std::io::Read;
fn main()
{
let data = "abcde";
let mut reader = data.as_bytes();
let res: Vec<u8> = reader.bytes()
.map(|b| b.unwrap())
.collect();
println!("{:?}", res);
}
Результат выполнения кода:
[97, 98, 99, 100, 101]
Пример
Давайте выведем каждый байт строки "12345"
отдельно:
use std::io::Read;
fn main()
{
let data = "12345";
let mut reader = data.as_bytes();
for byte in reader.bytes()
{
let res = byte.unwrap();
println!("{}", res);
}
}
Результат выполнения кода:
49
50
51
52
53
Смотрите также
-
метод
read,
который читает данные в буфер -
метод
read_to_string,
который читает всё содержимое в строку -
метод
read_to_end,
который читает все байты в вектор -
метод
read_exact,
который читает точное количество байтов