1 unstable release

0.1.0 Mar 15, 2024

#2479 in Encoding

Download history 754/week @ 2024-07-23 459/week @ 2024-07-30 449/week @ 2024-08-06 301/week @ 2024-08-13 442/week @ 2024-08-20 642/week @ 2024-08-27 938/week @ 2024-09-03 519/week @ 2024-09-10 667/week @ 2024-09-17 662/week @ 2024-09-24 383/week @ 2024-10-01 372/week @ 2024-10-08 447/week @ 2024-10-15 256/week @ 2024-10-22 390/week @ 2024-10-29 378/week @ 2024-11-05

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

~320–570KB
~12K SLoC