ps_base64/decoder/
map.rs

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};