1 unstable release

0.1.0 Mar 15, 2024

#1267 in Encoding

Download history 245/week @ 2024-03-14 224/week @ 2024-03-21 269/week @ 2024-03-28 238/week @ 2024-04-04 328/week @ 2024-04-11 559/week @ 2024-04-18

1,429 downloads per month

MIT license

8KB
50 lines

base64-bytes

Binary blobs with intelligent serialization.

Where Vec<u8> always serializes as an array of bytes, this crate provides serialization functions which try to make an intelligent decision about how to serialize a byte vector based on the serialization format.

For binary formats like bincode, the array-of-bytes serialization works great: it is compact and introduces very little overhead. But for human-readable types such as json, it's far from ideal. The text encoding of an array introduces substantial overhead, and the resulting array of opaque bytes isn't particularly readable anyways.

base64-bytes uses the is_human_readable property of a serializer to distinguish these cases. For binary formats, it uses the default Vec<u8> serialization. For human-readable formats, it uses a much more compact and conventional base 64 encoding.

Dependencies

~355–610KB
~12K SLoC