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

#296 in Network programming

Download history 135/week @ 2024-07-24 232/week @ 2024-07-31 149/week @ 2024-08-07 94/week @ 2024-08-14 135/week @ 2024-08-21 193/week @ 2024-08-28 254/week @ 2024-09-04 266/week @ 2024-09-11 734/week @ 2024-09-18 768/week @ 2024-09-25 1925/week @ 2024-10-02 1826/week @ 2024-10-09 1701/week @ 2024-10-16 1497/week @ 2024-10-23 1654/week @ 2024-10-30 1352/week @ 2024-11-06

6,504 downloads per month
Used in 18 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