basen/
alphabets.rs

1use crate::Base;
2
3/// Decimal
4///
5/// Characters: 0-9
6pub const BASE10: Base<10> = base(b"0123456789");
7
8/// Hexadecimal
9///
10/// Characters: 0-9 a-f
11pub const BASE16: Base<16> = base(b"0123456789abcdef");
12
13// BASE32
14
15/// Characters: 0-9 a-z
16pub const BASE36: Base<36> = base(b"0123456789abcdefghijklmnopqrstuvwxyz");
17
18/// Characters: 0-9 A-Z a-z except 0IOl
19pub const BASE58: Base<58> = base(b"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");
20
21const BASE64_STD: Base<64> =
22    base(b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/");
23
24const BASE64_URL_SAFE: Base<64> =
25    base(b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");
26
27const fn base<const N: usize>(chars: &[u8; N]) -> Base<N> {
28    match Base::new(chars) {
29        Some(val) => val,
30        None => panic!(),
31    }
32}