# nuts-bytes: Conversion into a binary data format. The `nuts-bytes` crate implements a tool that converts structured data into a binary format. ## API documentation The API documentation is located [here](https://docs.rs/nuts-bytes/). ## Format specification The binary format is specified in [docs/format.md]. ## Deserialization example ```rust use nuts_bytes::{Error, Reader, TakeBytesError}; // deserialize a primitive (u32) let mut reader = Reader::new([0x00, 0x00, 0x02, 0x9A].as_slice()); let n: u32 = reader.read().unwrap(); assert_eq!(n, 666); // Not enough data available let mut reader = Reader::new([0; 3].as_slice()); let err = reader.read::().unwrap_err(); assert!(matches!(err, Error::TakeBytes(TakeBytesError::Eof))); ``` ## Serialization example ```rust use nuts_bytes::Writer; // serialize a primitive (u32) let mut writer = Writer::new(vec![]); writer.write(&666u32).unwrap(); assert_eq!(writer.into_target(), [0x00, 0x00, 0x02, 0x9A]); ``` ## License > You can check out the full license > [here](https://github.com/drobin/nuts/blob/master/LICENSE). This project is licensed under the terms of the **MIT** license. [docs/format.md]: https://github.com/drobin/nuts/blob/master/nuts-bytes/docs/format.md