Crate base116

source ·
Expand description

Base116 is like Base85, but it increases data size by only 1/6 instead of 1/4.

Base116 exploits properties of UTF-8 to convert arbitrary binary data to valid, printable UTF-8, with a lower size overhead than is possible with any printable ASCII encoding.

For example, this binary data (in hex):

9329bd4b43da0bfdd1d97bdf081a2d42ec540155

is encoded as:

DZ<Oȥґ|yO(WFic{2n㎨r~9*Dz

Wrapping ‘DZ’ and ‘Dz’ characters are added by default to make encoded data easier to select, as the data may start or end with combining characters or characters from right-to-left scripts.

This crate provides both a binary and a library.

Re-exports

pub use decode::decode_bytes;
pub use decode::decode_chars;
pub use decode::decode_str;
pub use decode::decode_to_vec;
alloc
pub use encode::encode_to_bytes;
pub use encode::encode_to_chars;
pub use encode::encode_to_string;
alloc

Modules

Functions and types for decoding base-116 data.
Functions and types for encoding base-116 data.