Base64란
Base64는 이진 데이터를 64개의 인쇄 가능한 문자(A-Z, a-z, 0-9, +, /)로 인코딩하는 방식입니다. 암호화가 아니라 "다른 표기법"일 뿐이며, 이진 데이터를 텍스트 통신 채널로 전송할 수 있게 합니다. 인코딩 후 데이터 크기는 약 33% 증가합니다.
Base64를 왜 사용하나요
많은 시스템이 텍스트 전송만 지원합니다 (예: 이메일, JSON, URL, XML). 이런 채널로 이미지, 오디오, 이진 파일을 전송하려면 먼저 텍스트로 인코딩해야 합니다. Base64가 가장 범용적인 솔루션입니다.
흔한 용도
1. 이메일 첨부
이메일 프로토콜은 초기에 ASCII 텍스트만 지원했으며, 첨부 파일(이미지, 문서)은 Base64로 인코딩해야만 전송할 수 있었습니다.
2. 데이터 URI / 인라인 이미지
이미지를 Base64로 변환해 HTML/CSS에 직접 삽입하면 HTTP 요청을 줄일 수 있습니다. Base64 이미지 사용 가이드를 참조하세요.
3. API 데이터 전송
JSON은 이진 데이터를 지원하지 않아, 이미지나 파일을 전송할 때 먼저 Base64로 인코딩해 문자열로 JSON에 넣습니다.
4. 환경 변수 저장
인증서, 키 등 이진 설정 데이터는 Base64로 인코딩해 환경 변수에 저장합니다.
DocsAll Base64 인코딩 디코딩 도구
인코딩 디코딩 도구로 원클릭 작업:
- 인코딩 디코딩 도구 열기
- Base64 모드 선택
- 텍스트 붙여넣기 → "인코딩" 클릭해 Base64 획득; 또는 Base64 붙여넣기 → "디코딩" 클릭해 복원
- 결과 복사
이 도구는 URL 인코딩, HTML 엔티티 인코딩도 동시에 지원해 흔한 요구를 충족합니다.
인코딩 예제
텍스트 Hello를 인코딩하면 SGVsbG8=이 됩니다. 끝의 등호에 주목하세요. Base64는 등호로 자릿수를 맞추며, 오류가 아닙니다.
흔한 주의점
Base64는 암호화가 아닙니다
누구나 디코딩할 수 있으니 절대 민감 데이터를 "암호화"하는 데 사용하지 마세요. 암호화가 필요하면 AES, RSA 등 알고리즘을 사용하세요.
크기가 33% 커집니다
Base64 인코딩 후 3바이트마다 4문자로 변환돼 전송과 저장 비용이 증가합니다. 큰 파일은 신중하게 사용하세요.
문자셋 문제
표준 Base64에는 +와 /가 포함돼 URL에 넣으면 문제가 발생합니다. URL 시나리오에서는 URL 안전 Base64를 사용해야 합니다 (+를 -로, /를 _로 교체).
줄바꿈
일부 Base64 구현은 76문자마다 줄바꿈을 추가하며, 디코딩 시 일반적으로 줄바꿈을 무시합니다. 디코딩이 실패하면 먼저 여분의 줄바꿈이나 공백이 있는지 확인하세요.
실용 팁
- 인코딩 전에 데이터가 텍스트인지 이진인지 확인하고 적절한 모드 선택
- 디코딩 실패 시 먼저 문자가 완전한지, 공백이나 줄바꿈이 있는지 확인
- 큰 파일은 Base64 인라인을 피하세요. 크기 팽창이 너무 심합니다
Base64를 익히면 프론트엔드/백엔드 디버깅, 데이터 전송이 훨씬 수월해집니다.