단북
프론트엔드 기술 면접·인프라·보안·네트워크

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에 대한 설명으로 옳은 것은?

이 레슨을 다 읽으셨나요?

완료 표시는 이 브라우저에 저장됩니다.