1. 서론: 왜 이진 데이터를 텍스트로 바꾸어야 하는가?
컴퓨터 세상의 모든 파일(이미지, 실행 파일, 압축 파일 등)은 근본적으로 0과 1로 이루어진 이진(Binary) 데이터입니다.
초창기 인터넷 환경(이메일 프로토콜 SMTP, HTTP 헤더 등)은 오직 영문 알파벳과 기초 제어 문자만을 처리하도록 설계된 7비트 ASCII 표준을 기반으로 동작했습니다. 이 시스템에 8비트 이진 데이터를 그대로 전송하면, 특정 제어 문자(줄바꿈, 널 문자 등)가 시스템 명령으로 오작동하거나 통신 라우터를 거치며 데이터가 유실·변조되는 문제가 발생했습니다.
이 문제를 해결하기 위해, 시스템에 무해한 가장 안전한 64개의 ASCII 문자(A-Z, a-z, 0-9, +, /)만으로 이진 데이터를 안전하게 포장하여 전송하는 표준 규약이 바로 Base64입니다.
2. 수학적 원리: 8비트 3바이트를 6비트 4바이트로 재배열
Base64 인코딩의 핵심 메커니즘은 단순한 산수입니다:
\