인코딩은 컴퓨터에서 정보를 저장하거나 전송하기 위해 사용되는 변환이다. 동영상 인코딩의 경우 다양한 장치에서 재생할 수 있는 형태로 변환하는 작업이다. 문자 인코딩은 문자를 0과 1의 나열로 바꾸는 것이다. 예를 들어, 사과라는 문자는 UTF-8로 인코딩할 시 1110 1100 1000 0000 1010 1100(사), 1110 1010 1011 0000 1001 1100(과)로 나타낼 수 있다.
유니코드 문자를 0과 1의 나열(바이너리 데이터)로 변환하기 위한 문자 인코딩 방식 중 하나이다. 이름 끝에 숫자 8이 있는 이유는, 최소 단위가 8비트이기 때문이다. 어떤 문자냐에 따라 1바이트 ~ 4바이트짜리 바이너리 데이터로 변환된다. 즉, 가변 길이 문자 인코딩이다. 예를 들어, 위 예시의 사과는 두 글자 모두 각각 3바이트(24비트)로 변환되었다.
ASCII 인코딩은 UTF-8의 부분 집합이다. 일반적인 ASCII 문자열은 올바른 UTF-8 문자열이며, 따라서 하위 호환성이 보장된다.
바이너리 데이터를 문자로 바꾸는 인코딩이며, 결과물은 ASCII 문자로만 이루어진다. Base64라는 이름의 의미는 64진법(=6비트)인데, 어떤 문자와 기호로 64개를 구성하느냐에 따라 여러 변종이 있지만 잘 알려진 것은 처음 62개는 알파벳 A-Z, a-z와 숫자 0-9를 사용하고 있으며 마지막 두 개를 어떤 기호를 쓰느냐의 차이만 있다. 전자 메일 Base64는 알파벳 대소문자와 숫자, 그리고 +, / 기호 64개로 이루어지며, =는 끝을 알리는 코드로 쓰인다.
| 값 | 문자 | 값 | 문자 | 값 | 문자 | 값 | 문자 |
|---|---|---|---|---|---|---|---|
| 0 | A | 16 | Q | 32 | g | 48 | w |
| 1 | B | 17 | R | 33 | h | 49 | x |
| 2 | C | 18 | S | 34 | i | 50 | y |
| 3 | D | 19 | T | 35 | j | 51 | z |
| 4 | E | 20 | U | 36 | k | 52 | 0 |
| 5 | F | 21 | V | 37 | l | 53 | 1 |
| 6 | G | 22 | W | 38 | m | 54 | 2 |
| 7 | H | 23 | X | 39 | n | 55 | 3 |
| 8 | I | 24 | Y | 40 | o | 56 | 4 |
| 9 | J | 25 | Z | 41 | p | 57 | 5 |
| 10 | K | 26 | a | 42 | q | 58 | 6 |
| 11 | L | 27 | b | 43 | r | 59 | 7 |
| 12 | M | 28 | c | 44 | s | 60 | 8 |
| 13 | N | 29 | d | 45 | t | 61 | 9 |
| 14 | O | 30 | e | 46 | u | 62 | + |
| 15 | P | 31 | f | 47 | v | 63 | / |
즉, Base64 인코딩은 바이너리 데이터를 6비트씩 파싱하여 대응되는 문자로 치환하는 인코딩이다. 예를 들어, Man을 변환하는 과정은 다음과 같다.

M은 ASCII(=UTF-8) 바이너리로 표현하면 01001101이고, 십진법으로 77이다. 위 예시의 경우 8비트 버퍼에 각 문자의 바이너리 데이터를 넣고, 앞에서부터 6비트씩 파싱하여 인덱스를 구하고, 그 인덱스에 대응되는 문자를 Base64 색인표에서 찾은 것이다.
Base64 인코딩은 24비트를 6비트씩 4개로 나누는 과정을 필요로 하는데, 만약 M 한글자만 인코딩할 경우엔 M이 차지하는 8비트를 제외한 나머지 16비트는 0으로 채운다.

즉, M 한글자를 Base64 인코딩하면 TQAA가... 되지 않는다. 왜냐하면 입력 데이터의 길이에 따른 패딩 규칙이 있기 때문이다. 패딩은 문자 =을 사용하며, 패딩 규칙은 다음과 같다.
XX== (2개의 패딩 문자)XXX= (1개의 패딩 문자)XXXX (패딩 없음)따라서, 최종 결과는 TQ==가 된다.
사실 위 예시들에서 Base64로 인코딩하는 과정에서 이미 UTF-8 인코딩도 함께 수행한 셈이다. 'Man' 또는 'M'이라는 문자를 바이너리 데이터로 변환해야 Base64 인코딩을 할 수 있기 때문이다.
정리하면, 다음과 같다.