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

#439 in Network programming

Download history 1701/week @ 2024-10-16 1497/week @ 2024-10-23 1654/week @ 2024-10-30 1367/week @ 2024-11-06 1235/week @ 2024-11-13 1323/week @ 2024-11-20 961/week @ 2024-11-27 1764/week @ 2024-12-04 1523/week @ 2024-12-11 1361/week @ 2024-12-18 588/week @ 2024-12-25 1036/week @ 2025-01-01 1438/week @ 2025-01-08 1619/week @ 2025-01-15 1619/week @ 2025-01-22 1219/week @ 2025-01-29

6,106 downloads per month
Used in 20 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());

lib.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