8 releases
0.1.8 | Dec 26, 2022 |
---|---|
0.1.7 | Dec 20, 2022 |
0.1.6 | Nov 11, 2022 |
0.1.5 | Sep 11, 2022 |
0.1.0 |
|
#131 in No standard library
43 downloads per month
62KB
1.5K
SLoC
Base116
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.
Usage
The base116
binary behaves like the base64
binary on Unix-like systems:
base116
encodes, and base116 -d
decodes. See base116 --help
for more
information.
lib.rs
:
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.