1 unstable release

0.1.0 Mar 15, 2024

#1647 in Encoding

Download history 124/week @ 2024-03-11 197/week @ 2024-03-18 226/week @ 2024-03-25 301/week @ 2024-04-01 280/week @ 2024-04-08 492/week @ 2024-04-15 393/week @ 2024-04-22 324/week @ 2024-04-29 361/week @ 2024-05-06

1,573 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

~350–610KB
~12K SLoC