boba

Crates.ioboba
lib.rsboba
version5.0.0
sourcesrc
created_at2020-03-23 03:54:49.227694
updated_at2022-08-08 05:02:38.330366
descriptionEncoder and decoder for the Bubble Babble binary data encoding
homepagehttps://github.com/artichoke/boba
repositoryhttps://github.com/artichoke/boba
max_upload_size
id221634
size26,149
Ryan Lopopolo (lopopolo)

documentation

https://docs.rs/boba

README

boba

GitHub Actions Discord Twitter
Crate API API trunk

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 enables std::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.

Commit count: 465

cargo fmt