Base64 인코딩이란 무엇인가요?
바이너리 데이터를 텍스트로 표현하는 Base64 인코딩의 개념과 용도, 그리고 암호화가 아니라는 점을 정리합니다.
Base64 는 바이너리 데이터를 ASCII 텍스트 문자 64종(A–Z, a–z, 0–9, +, /)으로 표현하는 인코딩 방식입니다. 텍스트만 안전하게 다루는 환경에서 바이너리를 실어 나르기 위해 씁니다.
동작 원리
원본 바이트를 6비트 단위로 끊어 각 조각을 64개 문자 중 하나로 매핑합니다. 3바이트(24비트)가 4개의 Base64 문자가 되므로 크기가 약 33% 증가합니다. 길이를 4의 배수로 맞추려 =로 패딩합니다.
주요 용도
- 데이터 URI — 이미지 등을
data:image/png;base64,...로 HTML/CSS에 인라인 삽입(작은 자산의 요청 수 절감). - JSON·텍스트 프로토콜에 바이너리 전송 — 텍스트만 허용하는 곳에 파일을 담을 때.
- JWT — 토큰의 헤더·페이로드가 Base64URL로 인코딩됩니다.
- 이메일 첨부(MIME) 등.
btoa('hello'); // "aGVsbG8=" (문자열 → base64)
atob('aGVsbG8='); // "hello" (base64 → 문자열)중요: 암호화가 아니다
Base64는 누구나 디코딩 가능한 단순 변환입니다. 보안·암호화가 아니며, 비밀 정보를 숨기는 용도로 써서는 안 됩니다. 또한 크기가 늘어나므로 큰 파일을 인라인하면 오히려 비효율적일 수 있습니다.
Base64에 대한 설명으로 옳은 것은?
이 레슨을 다 읽으셨나요?
완료 표시는 이 브라우저에 저장됩니다.