Bytes

Crates.io

is used for serialize and deserialize

is useful because is more faster and smaller then json!
But not human readable!

Examples

```rust use bytes_kman::prelude::*;

[derive(Bytes)]

pub struct Package{ id: u16, message: String }

pub fn main(){ let pak = Package{ id: 21 message: String::from("This is a message") };

let mut bytes = pak.to_bytes();
bytes.reverse();

let other = Package::from_bytes(&mut bytes).unwrap();

assert_eq!(pak, other);

} ```

```rust use bytes_kman::prelude::*;

pub fn main(){ let num = 32u8; let bytes = num::tobytes(); asserteq!(bytes; vec![32]) } ```

```rust use bytes_kman::prelude::*;

pub fn main(){ let num = 32; let bytes = num::tobytes(); asserteq!(bytes; vec![32, 0, 0, 0]) } ```

```rust use bytes_kman::prelude::*;

pub fn main(){ let string = "Hello World!".tostring(); let bytes = num::tobytes(); // this is the string length 'H' 'e' 'l' 'l' 'o' ' ' 'W' 'o' 'r' 'l' 'd' '!' // >>>>>>>>>>>>^<<<<<<<<<< ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ assert_eq!(bytes; vec![12, 0, 0, 0, 0, 0, 0, 0, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]) } ```

```rust use bytes_kman::prelude::*;

pub fn main(){ let string = "Hello World!".to_string();

let mut bytes = num::to_bytes();
bytes.reverse(); // when reading is inversed

let other = String::from_bytes(&mut bytes).unwrap() // if don't have enough bytes will result in an error!
// bytes = []
// bytes will be consumed!
// other = "Hello World!"
assert_eq!(string, other)

} ```

Rust toolchain: stable 1.65.0