Base64

In programming, Base64 is a group of binary-to-text encoding schemes that represent binary data (more specifically, a sequence of 8-bit bytes) in an ASCII string format by translating the data into a radix-64 representation. The term Base64 originates from a specific MIME content transfer encoding. Each non-final Base64 digit represents exactly 6 bits of data. Three 8-bit bytes (i.e., a total of 24 bits) can therefore be represented by four 6-bit Base64 digits.
Base64 encoding breaks binary data into 6-bit segments of 3 full bytes and represents those as printable characters in ASCII standard. It does that in essentially two steps.
* The first step is to break the binary string down into 6-bit blocks. Base64 only uses 6 bits (corresponding to 2^6 = 64 characters) to ensure encoded data is printable and humanly readable. None of the special characters available in ASCII are used.
* The 64 characters (hence the name Base64) are 10 digits, 26 lowercase characters, 26 uppercase characters as well as the Plus sign (+) and the Forward Slash (/). There is also a 65th character known as a pad, which is the Equal sign (=). This character is used when the last segment of binary data doesn't contain a full 6 bits. 

Uppercase Letters
Index | Character
------ | ------
0 | A
1 | B
2 | C
3 | D
4 | E
5 | F
6 | G
7 | H
8 | I
9 | J
10 | K
11 | L
12 | M
13 | N
14 | O
15 | P
16 | Q
17 | R
18 | S
19 | T
20 | U
21 | V
22 | W
23 | X
24 | Y
25 | Z

Lowercase Letters
Index | Character
------ | ------
26 | a
27 | b
28 | c
29 | d
30 | e
31 | f
32 | g
33 | h
34 | i
35 | j
36 | k
37 | l
38 | m
39 | n
40 | o
41 | p
42 | q
43 | r
44 | s
45 | t
46 | u
47 | v
48 | w
49 | x
50 | y
51 | z

Symbols
Index | Character
------ | ------
60 | +
61 | /

Digits
Index | Character
------ | ------
52 | 0
53 | 1
54 | 2
55 | 3
56 | 4
57 | 5
58 | 6
59 | 7
60 | 8
61 | 9