Base64는 이진 데이터를 64개의 인쇄 가능한 문자 집합으로 변환하는 인코딩 방식으로, 텍스트만 처리할 수 있는 시스템을 통해 안전하게 전송할 수 있게 합니다. 이메일(MIME) 및 7비트 데이터만 지원하는 기타 프로토콜에서 일반적으로 사용됩니다.
- 입력 데이터는 6비트 청크로 분할됩니다. 마지막 그룹이 6비트 미만인 경우 0이 추가되어 완성됩니다.
- 각 6비트 그룹은 Base64 테이블을 사용하여 문자에 매핑됩니다. 최종 출력이 4자 미만인 경우
= 기호가 패딩으로 추가됩니다.변환 테이블
| 10진수 | 이진수 | 문자 | 10진수 | 이진수 | 문자 | 10진수 | 이진수 | 문자 | 10진수 | 이진수 | 문자 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 000000 | A |
16 | 010000 | Q |
32 | 100000 | g |
48 | 110000 | w
|
| 1 | 000001 | B |
17 | 010001 | R |
33 | 100001 | h |
49 | 110001 | x
|
| 2 | 000010 | C |
18 | 010010 | S |
34 | 100010 | i |
50 | 110010 | y
|
| 3 | 000011 | D |
19 | 010011 | T |
35 | 100011 | j |
51 | 110011 | z
|
| 4 | 000100 | E |
20 | 010100 | U |
36 | 100100 | k |
52 | 110100 | 0
|
| 5 | 000101 | F |
21 | 010101 | V |
37 | 100101 | l |
53 | 110101 | 1
|
| 6 | 000110 | G |
22 | 010110 | W |
38 | 100110 | m |
54 | 110110 | 2
|
| 7 | 000111 | H |
23 | 010111 | X |
39 | 100111 | n |
55 | 110111 | 3
|
| 8 | 001000 | I |
24 | 011000 | Y |
40 | 101000 | o |
56 | 111000 | 4
|
| 9 | 001001 | J |
25 | 011001 | Z |
41 | 101001 | p |
57 | 111001 | 5
|
| 10 | 001010 | K |
26 | 011010 | a |
42 | 101010 | q |
58 | 111010 | 6
|
| 11 | 001011 | L |
27 | 011011 | b |
43 | 101011 | r |
59 | 111011 | 7
|
| 12 | 001100 | M |
28 | 011100 | c |
44 | 101100 | s |
60 | 111100 | 8
|
| 13 | 001101 | N |
29 | 011101 | d |
45 | 101101 | t |
61 | 111101 | 9
|
| 14 | 001110 | O |
30 | 011110 | e |
46 | 101110 | u |
62 | 111110 | +
|
| 15 | 001111 | P |
31 | 011111 | f |
47 | 101111 | v |
63 | 111111 | /
|