Crate simple_bytes[][src]

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

Bytes

A slice wrapper that implements BytesRead.

BytesMut

A mutable slice wrapper that implements BytesWrite

BytesOwned

A Vec wrapper that implements BytesWrite and BytesRead

Cursor

A generic struct implementing BytesRead, BytesWrite and BytesSeek for different types.

Offset

A struct which holds a specific offset for any BytesRead, BytesWrite or BytesSeek implementation.

Traits

BytesRead

Read bytes or numbers.

BytesSeek

Sets the internal position for writing or reading.

BytesWrite

Write bytes or numbers.