stdto 0.6.0

Stdto provides a set of functional traits for conversion between various data representations.
Documentation

Stdto

stdto provides a set of functional traits for conversion between various data representations.

CI Crates.io Licensed Twitter

| Examples | Docs | Latest Note |

stdto = "0.6.0"

How to

use stdto::prelude::*;
// #[stdto::bytes(endian = "little")]
#[stdto::bytes]
struct Test {
    a: u32,
    b: String,
    c: [u8; 32],
    d: Vec<u8>,
    e: HashMap<u8, f64>,
}

bytes = test.to_bytes();
Test::from_bytes(bytes);
#[stdto::bytes]
#[stdto::hash]
struct Test {
    ...
}

hash = test.to_hash::<Sha256>();
#[stdto::json]
struct Test {
    a: u32,
    b: String,
    c: [u8; 32],
    d: Vec<u8>,
    e: HashMap<u8, f64>,
}

json = test.to_json();
Test::from_json(json);
// AsRef<[u8]> to hex

hex = hash.to_hex();
Vec::<u8>::from_hex(hex);

mut arr = [0u8; 32];
arr.copy_from_hex(hex);
// AsRef<[u8]> <-> String, &str

arr = [72, 105, 77, 111, 109];
s1 = arr.into_string();
bytes = s1.to_bytes();
s2 = bytes.as_str();

assert_eq!(s1, s2);