fast32/
base32.rs

1mod alphabet;
2mod decode_bytes;
3mod decode_u128;
4mod decode_u64;
5mod encode_bytes;
6mod encode_u128;
7mod encode_u64;
8
9#[cfg(feature = "uuid")]
10mod uuid;
11
12pub use self::decode_bytes::{capacity_decode, decode, decode_into};
13pub use self::decode_u128::decode_u128;
14pub use self::decode_u64::decode_u64;
15pub use self::encode_bytes::{capacity_encode, encode, encode_into};
16pub use self::encode_u128::{capacity_encode_u128, encode_u128, encode_u128_into};
17pub use self::encode_u64::{capacity_encode_u64, encode_u64, encode_u64_into};
18
19#[cfg(feature = "uuid")]
20pub use self::uuid::{decode_uuid, encode_uuid, encode_uuid_into};
21
22pub use self::alphabet::{Alphabet32Nopad, Alphabet32Padded};
23
24/// Crockford Base32 (no padding)
25///
26/// [https://www.crockford.com/base32.html](https://www.crockford.com/base32.html)
27pub use self::alphabet::CROCKFORD;
28
29/// Crockford Base32, lowercase (no padding)
30///
31/// Same as [upper version](self::CROCKFORD), just lowercase
32pub use self::alphabet::CROCKFORD_LOWER;
33
34/// RFC 4648 Base32 normal, with padding
35///
36/// `"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"` and `'='`
37///
38/// [https://datatracker.ietf.org/doc/html/rfc4648#section-6](https://datatracker.ietf.org/doc/html/rfc4648#section-6)
39pub use self::alphabet::RFC4648;
40
41/// RFC 4648 Base32 normal, no padding
42///
43/// `"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"`
44///
45/// [https://datatracker.ietf.org/doc/html/rfc4648#section-6](https://datatracker.ietf.org/doc/html/rfc4648#section-6)
46pub use self::alphabet::RFC4648_NOPAD;
47
48/// RFC 4648 Base32 "hex" form, with padding
49///
50/// `"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"` and `'='`
51///
52/// [https://datatracker.ietf.org/doc/html/rfc4648#section-7](https://datatracker.ietf.org/doc/html/rfc4648#section-7)
53pub use self::alphabet::RFC4648_HEX;
54
55/// RFC 4648 Base32 "hex" form, no padding
56///
57/// `"0123456789ABCDEFGHIJKLMNOPQRSTUV"`
58///
59/// [https://datatracker.ietf.org/doc/html/rfc4648#section-7](https://datatracker.ietf.org/doc/html/rfc4648#section-7)
60pub use self::alphabet::RFC4648_HEX_NOPAD;