9 stable releases (3 major)
5.0.0 | Aug 8, 2022 |
---|---|
4.3.1 | Mar 30, 2022 |
4.2.0 | Jan 6, 2021 |
4.1.2 | Dec 24, 2020 |
0.0.0 | Mar 23, 2020 |
#2251 in Encoding
25KB
359 lines
boba
Implements the the Bubble Babble binary data encoding.
The Bubble Babble Encoding encodes arbitrary binary data into pseudowords that are more natural to humans and that can be pronounced relatively easily.
Bubble Babble encodes 6 characters in 16 bits and includes a checksum embedded in the encoded data. See the Bubble Babble spec.
Usage
Add this to your Cargo.toml
:
[dependencies]
boba = "5.0.0"
Then encode and decode data like:
assert_eq!(boba::encode("Pineapple"), "xigak-nyryk-humil-bosek-sonax");
assert_eq!(boba::decode(b"xexax"), Ok(vec![]));
Crate Features
Boba is no_std
compatible with a required dependency on the alloc
crate.
Boba has several Cargo features, all of which are enabled by default:
- std - Adds a dependency on
std
, the Rust Standard Library. This feature enablesstd::error::Error
implementations on error types in this crate. Enabling the std feature also enables the alloc feature.
boba
is fuzzed with cargo-fuzz.
Minimum Rust Version Policy
This crate's minimum supported rustc
version (MSRV) is 1.42.0
.
MSRV may be bumped in minor version releases.
License
boba
is licensed under the MIT License (c) Ryan Lopopolo.