#binary-encoding #binary #leb128 #data-encoding #integer #binary-format #vbyte

binout

The library for binary serialization/deserialization of integers and arrays of integers

5 unstable releases

0.3.0 Oct 2, 2024
0.2.1 Feb 24, 2024
0.2.0 May 19, 2023
0.1.1 Jul 13, 2022
0.1.0 Jul 11, 2022

#1317 in Encoding

Download history 5222/week @ 2024-07-04 7495/week @ 2024-07-11 6985/week @ 2024-07-18 6476/week @ 2024-07-25 6595/week @ 2024-08-01 6670/week @ 2024-08-08 5968/week @ 2024-08-15 7664/week @ 2024-08-22 6294/week @ 2024-08-29 6540/week @ 2024-09-05 5084/week @ 2024-09-12 4573/week @ 2024-09-19 4402/week @ 2024-09-26 4621/week @ 2024-10-03 4228/week @ 2024-10-10 5092/week @ 2024-10-17

19,155 downloads per month
Used in 15 crates (5 directly)

MIT/Apache

16KB
267 lines

binout is the Rust library by Piotr Beling for low-level, portable, bytes-oriented, binary encoding, decoding, serialization, deserialization of integers and arrays of integers.

It supports slightly improved VByte/LEB128 format (see VByte) as well as simple, little-endian, as-is serialization (see AsIs).

Example

use binout::{VByte, Serializer};

let value = 123456u64;
let mut buff = Vec::new();
assert!(VByte::write(&mut buff, value).is_ok());
assert_eq!(buff.len(), VByte::size(value));
let read: u64 = VByte::read(&mut &buff[..]).unwrap();
assert_eq!(read, value);

No runtime deps