Name Description Size
bytebuf.rs 5736
bytes.rs 3765
de.rs 6439
lib.rs Wrapper types to enable optimized handling of `&[u8]` and `Vec<u8>`. Without specialization, Rust forces Serde to treat `&[u8]` just like any other slice and `Vec<u8>` just like any other vector. In reality this particular slice and vector can often be serialized and deserialized in a more efficient, compact representation in many formats. When working with such a format, you can opt into specialized handling of `&[u8]` by wrapping it in `serde_bytes::Bytes` and `Vec<u8>` by wrapping it in `serde_bytes::ByteBuf`. Additionally this crate supports the Serde `with` attribute to enable efficient handling of `&[u8]` and `Vec<u8>` in structs without needing a wrapper type. ``` # use serde_derive::{Deserialize, Serialize}; use serde::{Deserialize, Serialize}; #[derive(Deserialize, Serialize)] struct Efficient<'a> { #[serde(with = "serde_bytes")] bytes: &'a [u8], #[serde(with = "serde_bytes")] byte_buf: Vec<u8>, } ``` 3099
ser.rs 3037