bytebuffer
This crate provides an easy to use api to read/write data from/to a bunch of bytes.
[dependencies]
bytebuffer = "2.1.0"
```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); ```
Licensed under either of
at your option.
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.