#io #byte-slice #byte

simple-bytes

A small and easy crate to mutate or read u8 slices

15 releases

0.2.14 Jul 17, 2023
0.2.13 Jun 24, 2023
0.2.11 Jun 12, 2022
0.2.9 Jan 22, 2022
0.1.1 Nov 24, 2020

#1121 in Network programming

Download history 1570/week @ 2025-05-20 2228/week @ 2025-05-27 1875/week @ 2025-06-03 1621/week @ 2025-06-10 1926/week @ 2025-06-17 3504/week @ 2025-06-24 2707/week @ 2025-07-01 3480/week @ 2025-07-08 4090/week @ 2025-07-15 4028/week @ 2025-07-22 3488/week @ 2025-07-29 4078/week @ 2025-08-05 4701/week @ 2025-08-12 4842/week @ 2025-08-19 4258/week @ 2025-08-26 3549/week @ 2025-09-02

18,173 downloads per month
Used in 21 crates (10 directly)

MIT/Apache

47KB
1.5K SLoC

CI crates.io docs.rs

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());

No runtime deps