1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
static ALPHABET64:&'static[char]=&[
    'A','B','C','D','E','F','G','H',
    'I','J','K','L','M','N','O','P',
    'Q','R','S','T','U','V','W','X',
    'Y','Z','a','b','c','d','e','f',
    'g','h','i','j','k','l','m','n',
    'o','p','q','r','s','t','u','v',
    'w','x','y','z','0','1','2','3',
    '4','5','6','7','8','9','+','/'
];

static ALPHABET64URL:&'static[char]=&[
    'A','B','C','D','E','F','G','H',
    'I','J','K','L','M','N','O','P',
    'Q','R','S','T','U','V','W','X',
    'Y','Z','a','b','c','d','e','f',
    'g','h','i','j','k','l','m','n',
    'o','p','q','r','s','t','u','v',
    'w','x','y','z','0','1','2','3',
    '4','5','6','7','8','9','-','_'
];

pub struct B64<T>(T);
pub struct B64URL<T>(T);

pub trait B64Encode<I,O>{fn encode(data:I)->O;}
pub trait B64Decode<I,O>{fn decode(data:I)->O;}

include!("./include/u8_b64.rs");
include!("./include/u16_b64.rs");
include!("./include/u32_b64.rs");
include!("./include/u64_b64.rs");

include!("./include/i8_b64.rs");
include!("./include/i16_b64.rs");
include!("./include/i32_b64.rs");
include!("./include/i64_b64.rs");

include!("./include/string_b64.rs");