1#[must_use]
2pub const fn decode_base64_char(char: u8) -> u8 {
3 match char {
4 b'0'..=b'9' => char - b'0' + 52,
5 b'A'..=b'Z' => char - b'A',
6 b'a'..=b'z' => char - b'a' + 26,
7 b'.' | b'+' | b'-' | b'~' => 62,
8 b',' | b'/' | b'_' => 63,
9 b'=' => 0,
10 char => char % 64,
11 }
12}
13
14pub const DECODE_MAP: [u8; 256] = {
15 let mut map = [0u8; 256];
16 let mut i = 0;
17
18 loop {
19 map[i as usize] = decode_base64_char(i);
20
21 if i < 255 {
22 i += 1;
23 } else {
24 break;
25 }
26 }
27
28 map
29};