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

#478 in Network programming

Download history 1377/week @ 2024-11-15 1124/week @ 2024-11-22 1320/week @ 2024-11-29 1611/week @ 2024-12-06 1643/week @ 2024-12-13 886/week @ 2024-12-20 646/week @ 2024-12-27 1269/week @ 2025-01-03 1548/week @ 2025-01-10 1733/week @ 2025-01-17 1358/week @ 2025-01-24 1141/week @ 2025-01-31 1330/week @ 2025-02-07 1475/week @ 2025-02-14 1529/week @ 2025-02-21 1249/week @ 2025-02-28

5,760 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