base64-bytes

Crates.iobase64-bytes
lib.rsbase64-bytes
version0.1.0
sourcesrc
created_at2024-03-15 16:29:46.554525
updated_at2024-03-15 16:29:46.554525
descriptionBinary blobs with intelligent serialization
homepage
repository
max_upload_size
id1174894
size24,245
Jeb Bearer (jbearer)

documentation

README

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.

Commit count: 0

cargo fmt