bytebuffer


Crates.io docs.rs CI Checks

This crate provides an easy to use api to read / write data from / to a bunch of bytes.

[dependencies] bytebuffer = "2.1.0"


Api sample

```rust use bytebuffer::ByteBuffer;

// Writing

let mut buffer = ByteBuffer::new(); buffer.writebytes(&vec![0x1, 0xFF, 0x45]); buffer.writeu8(1); buffer.writei8(1); buffer.writeu16(1); buffer.writei16(1); buffer.writeu32(1); buffer.writei32(1); buffer.writeu64(1); buffer.writei64(1); buffer.writef32(0.1); buffer.writef64(0.1); buffer.writestring("Hello"); buffer.writebit(true); buffer.writebits(4, 3); buffer.flush_bits();

let data = buffer.into_vec();

// Reading

let mut reader = ByteBuffer::from(data); // or let mut reader = ByteReader::from(&data);

let _ = reader.readbytes(3); let _ = reader.readu8(); let _ = reader.readi8(); let _ = reader.readu16(); let _ = reader.readi16(); let _ = reader.readu32(); let _ = reader.readi32(); let _ = reader.readu64(); let _ = reader.readi64(); let _ = reader.readf32(); let _ = reader.readf64(); let _ = reader.readstring(); let _ = reader.readbit(); let _ = reader.readbits(3); ```


License

Licensed under either of

at your option.


Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.