사용 가이드

Base64 인코딩이 뭔지 쉽게 설명해본다

Base64가 뭔가요

바이너리 데이터를 텍스트로 바꾸는 인코딩입니다. 이미지나 파일을 문자열로 표현합니다. 이메일 첨부파일에 쓰입니다. 옛날 이메일 시스템은 텍스트만 전송했거든요. JSON이나 XML에 바이너리를 넣을 때도 씁니다. 웹 개발에서 자주 만납니다.

인코딩 원리

64개 문자를 사용합니다. 알파벳 대소문자 52개 숫자 10개 플러스와 슬래시 2개입니다. 3바이트를 4문자로 바꿉니다. 데이터가 약 33% 커집니다. 원본보다 용량이 늘어나는 단점이 있습니다. 하지만 텍스트로 안전하게 전송됩니다.

디코딩은 반대

Base64 문자열을 원래 바이너리로 복원합니다. 인코딩과 디코딩은 서로 역연산입니다. 손실이 없습니다. 원본 그대로 복구됩니다. 암호화가 아닙니다. 누구나 디코딩할 수 있습니다. 보안 목적으로 쓰면 안 됩니다.

웹 개발에서 활용

Data URI에 씁니다. 작은 이미지를 HTML이나 CSS에 직접 넣습니다. HTTP 요청을 줄여서 속도가 빨라집니다. 아이콘 같은 작은 이미지에 적합합니다. 큰 파일은 오히려 비효율적입니다. 적절한 크기에만 쓰세요.

API 통신

바이너리 파일을 JSON으로 보내야 할 때 씁니다. 이미지 업로드 API에서 많이 봅니다. 서버에서 받아서 디코딩 후 저장합니다. JWT 토큰도 Base64로 인코딩되어 있습니다. 점으로 구분된 세 부분이 각각 Base64입니다.

Base64 변환 도구

Base64 인코더/디코더에서 변환할 수 있습니다. 텍스트를 붙여넣으면 바로 인코딩됩니다. 반대로 Base64 문자열을 디코딩하는 것도 됩니다. 개발할 때 편리합니다. URL 인코더와 함께 쓰면 좋습니다.