@@ -15,44 +15,70 @@ pub const BASE8: Encoding = new_encoding! {
15
15
pub const BASE10 : & str = "0123456789" ;
16
16
17
17
// Base16 lower hexadecimal (alphabet: 0123456789abcdef)
18
- pub const BASE16_LOWER : Encoding = data_encoding:: HEXLOWER ;
18
+ pub const BASE16_LOWER : Encoding = data_encoding:: HEXLOWER_PERMISSIVE ;
19
19
20
20
// Base16 upper hexadecimal (alphabet: 0123456789ABCDEF).
21
- pub const BASE16_UPPER : Encoding = data_encoding:: HEXUPPER ;
21
+ pub const BASE16_UPPER : Encoding = data_encoding:: HEXUPPER_PERMISSIVE ;
22
22
23
23
// Base32, rfc4648 no padding (alphabet: abcdefghijklmnopqrstuvwxyz234567).
24
24
pub const BASE32_NOPAD_LOWER : Encoding = new_encoding ! {
25
25
symbols: "abcdefghijklmnopqrstuvwxyz234567" ,
26
+ translate_from: "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ,
27
+ translate_to: "abcdefghijklmnopqrstuvwxyz" ,
26
28
} ;
27
29
28
30
// Base32, rfc4648 no padding (alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ234567).
29
- pub const BASE32_NOPAD_UPPER : Encoding = data_encoding:: BASE32_NOPAD ;
31
+ pub const BASE32_NOPAD_UPPER : Encoding = new_encoding ! {
32
+ symbols: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567" ,
33
+ translate_from: "abcdefghijklmnopqrstuvwxyz" ,
34
+ translate_to: "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ,
35
+ } ;
30
36
31
37
// Base32, rfc4648 with padding (alphabet: abcdefghijklmnopqrstuvwxyz234567).
32
38
pub const BASE32_PAD_LOWER : Encoding = new_encoding ! {
33
39
symbols: "abcdefghijklmnopqrstuvwxyz234567" ,
40
+ translate_from: "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ,
41
+ translate_to: "abcdefghijklmnopqrstuvwxyz" ,
34
42
padding: '=' ,
35
43
} ;
36
44
37
45
// Base32, rfc4648 with padding (alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ234567).
38
- pub const BASE32_PAD_UPPER : Encoding = data_encoding:: BASE32 ;
46
+ pub const BASE32_PAD_UPPER : Encoding = new_encoding ! {
47
+ symbols: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567" ,
48
+ translate_from: "abcdefghijklmnopqrstuvwxyz" ,
49
+ translate_to: "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ,
50
+ padding: '=' ,
51
+ } ;
39
52
40
53
// Base32hex, rfc4648 no padding (alphabet: 0123456789abcdefghijklmnopqrstuv).
41
54
pub const BASE32HEX_NOPAD_LOWER : Encoding = new_encoding ! {
42
55
symbols: "0123456789abcdefghijklmnopqrstuv" ,
56
+ translate_from: "ABCDEFGHIJKLMNOPQRSTUV" ,
57
+ translate_to: "abcdefghijklmnopqrstuv" ,
43
58
} ;
44
59
45
60
// Base32hex, rfc4648 no padding (alphabet: 0123456789ABCDEFGHIJKLMNOPQRSTUV).
46
- pub const BASE32HEX_NOPAD_UPPER : Encoding = data_encoding:: BASE32HEX_NOPAD ;
61
+ pub const BASE32HEX_NOPAD_UPPER : Encoding = new_encoding ! {
62
+ symbols: "0123456789ABCDEFGHIJKLMNOPQRSTUV" ,
63
+ translate_from: "abcdefghijklmnopqrstuv" ,
64
+ translate_to: "ABCDEFGHIJKLMNOPQRSTUV" ,
65
+ } ;
47
66
48
67
// Base32hex, rfc4648 with padding (alphabet: 0123456789abcdefghijklmnopqrstuv).
49
68
pub const BASE32HEX_PAD_LOWER : Encoding = new_encoding ! {
50
69
symbols: "0123456789abcdefghijklmnopqrstuv" ,
70
+ translate_from: "ABCDEFGHIJKLMNOPQRSTUV" ,
71
+ translate_to: "abcdefghijklmnopqrstuv" ,
51
72
padding: '=' ,
52
73
} ;
53
74
54
75
/// Base32hex, rfc4648 with padding (alphabet: 0123456789ABCDEFGHIJKLMNOPQRSTUV).
55
- pub const BASE32HEX_PAD_UPPER : Encoding = data_encoding:: BASE32HEX ;
76
+ pub const BASE32HEX_PAD_UPPER : Encoding = new_encoding ! {
77
+ symbols: "0123456789ABCDEFGHIJKLMNOPQRSTUV" ,
78
+ translate_from: "abcdefghijklmnopqrstuv" ,
79
+ translate_to: "ABCDEFGHIJKLMNOPQRSTUV" ,
80
+ padding: '=' ,
81
+ } ;
56
82
57
83
// z-base-32 (used by Tahoe-LAFS) (alphabet: ybndrfg8ejkmcpqxot1uwisza345h769).
58
84
pub const BASE32Z : Encoding = new_encoding ! {
0 commit comments