Crate simple_bytes
source · [−]Expand description
A small and easy crate to mutate or read u8 slices.
Reads or writes any number using the byte order “big-endian”.
Read a slice
use simple_bytes::{Bytes, BytesRead};
let bytes: Vec<u8> = (0..255).collect();
let mut slice: Bytes = bytes.as_slice().into();
assert_eq!(0, slice.read_u8());
assert_eq!(1, slice.read_u8());
assert_eq!(515, slice.read_u16());
Write to a slice
use simple_bytes::{BytesMut, BytesRead, BytesWrite};
let mut bytes = [0u8; 10];
let mut slice = BytesMut::from(bytes.as_mut());
slice.write_u8(1);
slice.write_f32(1.234);
slice.write(&[1u8, 2u8]);
assert_eq!(3, slice.remaining().len());
Structs
A slice wrapper that implements BytesRead.
A mutable slice wrapper that implements BytesWrite
A Vec wrapper that implements BytesWrite and BytesRead
A generic struct implementing BytesRead, BytesWrite and BytesSeek for different types.
A struct which holds a specific offset for any BytesRead, BytesWrite or BytesSeek implementation.
Traits
Read bytes or numbers.
Sets the internal position for writing or reading.
Write bytes or numbers.