9 unstable releases

Uses old Rust 2015

new 0.5.0 May 16, 2024
0.4.0 Oct 23, 2018
0.3.1 Jan 11, 2016
0.3.0 Apr 8, 2015
0.1.1 Nov 22, 2014

#51 in Encoding

Download history 39629/week @ 2024-01-26 44493/week @ 2024-02-02 54604/week @ 2024-02-09 40725/week @ 2024-02-16 48716/week @ 2024-02-23 53182/week @ 2024-03-01 54641/week @ 2024-03-08 52829/week @ 2024-03-15 55371/week @ 2024-03-22 65539/week @ 2024-03-29 51679/week @ 2024-04-05 56677/week @ 2024-04-12 57744/week @ 2024-04-19 53911/week @ 2024-04-26 53055/week @ 2024-05-03 42473/week @ 2024-05-10

216,744 downloads per month
Used in 336 crates (110 directly)

MIT/Apache

22KB
483 lines

base32

This library lets you encode and decode various Base32 variants.

Usage

use base32::Alphabet;

// Crockford's Base32
assert_eq!(base32::encode(Alphabet::Crockford, &[0xF8, 0x3E, 0x0F, 0x83, 0xE0]), "Z0Z0Z0Z0");
assert_eq!(base32::decode(Alphabet::Crockford, "Z0Z0Z0Z0").unwrap(), vec![0xF8, 0x3E, 0x0F, 0x83, 0xE0]);

// RFC4648
assert_eq!(base32::encode(Alphabet::Rfc4648 { padding: true }, &[0xF8, 0x3E, 0x7F, 0x83, 0xE7]), "7A7H7A7H");
assert_eq!(base32::decode(Alphabet::Rfc4648 { padding: true }, "7A7H7A7H").unwrap(), vec![0xF8, 0x3E, 0x7F, 0x83, 0xE7]);

// RFC4648 base32hex
assert_eq!(base32::encode(Alphabet::Rfc4648Hex { padding: true }, &[0xF8, 0x3E, 0x7F, 0x83, 0xE7]), "V0V7V0V7");
assert_eq!(base32::decode(Alphabet::Rfc4648Hex { padding: true }, "V0V7V0V7").unwrap(), vec![0xF8, 0x3E, 0x7F, 0x83, 0xE7]);

// z-base-32
assert_eq!(base32::encode(Alphabet::Z, &[0xF8, 0x3E, 0x7F, 0x83, 0xE7]), "9y989y98");
assert_eq!(base32::decode(Alphabet::Z, "9y989y98").unwrap(), vec![0xF8, 0x3E, 0x7F, 0x83, 0xE7]);

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

No runtime deps