rusty_source_map/
base64.rs

1const INT_TO_CHAR_MAP: [&str; 64] = [
2    "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S",
3    "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l",
4    "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4",
5    "5", "6", "7", "8", "9", "+", "/",
6];
7
8pub fn encode(num: i32) -> Option<char> {
9    if 0 <= num && num < INT_TO_CHAR_MAP.len() as i32 {
10        Some(INT_TO_CHAR_MAP[num as usize].parse().unwrap())
11    } else {
12        None
13    }
14}
15
16#[test]
17fn test_encode() {
18    assert_eq!(encode(0), Some('A'));
19    assert_eq!(encode(26), Some('a'));
20    assert_eq!(encode(64), None);
21}