1use data_encoding::Encoding;
2use data_encoding_macro::new_encoding;
3
4pub const BASE2: Encoding = new_encoding! {
6 symbols: "01",
7};
8
9pub const BASE8: Encoding = new_encoding! {
11 symbols: "01234567",
12};
13
14pub const BASE10: &str = "0123456789";
16
17pub const BASE16_LOWER: Encoding = data_encoding::HEXLOWER_PERMISSIVE;
19
20pub const BASE16_UPPER: Encoding = data_encoding::HEXUPPER_PERMISSIVE;
22
23pub const BASE32_NOPAD_LOWER: Encoding = new_encoding! {
25 symbols: "abcdefghijklmnopqrstuvwxyz234567",
26 translate_from: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
27 translate_to: "abcdefghijklmnopqrstuvwxyz",
28};
29
30pub const BASE32_NOPAD_UPPER: Encoding = new_encoding! {
32 symbols: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",
33 translate_from: "abcdefghijklmnopqrstuvwxyz",
34 translate_to: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
35};
36
37pub const BASE32_PAD_LOWER: Encoding = new_encoding! {
39 symbols: "abcdefghijklmnopqrstuvwxyz234567",
40 translate_from: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
41 translate_to: "abcdefghijklmnopqrstuvwxyz",
42 padding: '=',
43};
44
45pub const BASE32_PAD_UPPER: Encoding = new_encoding! {
47 symbols: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",
48 translate_from: "abcdefghijklmnopqrstuvwxyz",
49 translate_to: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
50 padding: '=',
51};
52
53pub const BASE32HEX_NOPAD_LOWER: Encoding = new_encoding! {
55 symbols: "0123456789abcdefghijklmnopqrstuv",
56 translate_from: "ABCDEFGHIJKLMNOPQRSTUV",
57 translate_to: "abcdefghijklmnopqrstuv",
58};
59
60pub const BASE32HEX_NOPAD_UPPER: Encoding = new_encoding! {
62 symbols: "0123456789ABCDEFGHIJKLMNOPQRSTUV",
63 translate_from: "abcdefghijklmnopqrstuv",
64 translate_to: "ABCDEFGHIJKLMNOPQRSTUV",
65};
66
67pub const BASE32HEX_PAD_LOWER: Encoding = new_encoding! {
69 symbols: "0123456789abcdefghijklmnopqrstuv",
70 translate_from: "ABCDEFGHIJKLMNOPQRSTUV",
71 translate_to: "abcdefghijklmnopqrstuv",
72 padding: '=',
73};
74
75pub const BASE32HEX_PAD_UPPER: Encoding = new_encoding! {
77 symbols: "0123456789ABCDEFGHIJKLMNOPQRSTUV",
78 translate_from: "abcdefghijklmnopqrstuv",
79 translate_to: "ABCDEFGHIJKLMNOPQRSTUV",
80 padding: '=',
81};
82
83pub const BASE32Z: Encoding = new_encoding! {
85 symbols: "ybndrfg8ejkmcpqxot1uwisza345h769",
86};
87
88pub const BASE36_LOWER: &str = "0123456789abcdefghijklmnopqrstuvwxyz";
90
91pub const BASE36_UPPER: &str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
93
94pub const BASE58_FLICKR: &str = "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ";
96
97pub const BASE58_BITCOIN: &str = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
99
100pub const BASE64_NOPAD: Encoding = data_encoding::BASE64_NOPAD;
102
103pub const BASE64_PAD: Encoding = data_encoding::BASE64;
105
106pub const BASE64URL_NOPAD: Encoding = data_encoding::BASE64URL_NOPAD;
108
109pub const BASE64URL_PAD: Encoding = data_encoding::BASE64URL;