텍스트를 Base64로 인코딩하는 방법
- 입력 칸에 텍스트를 입력하거나 붙여넣으세요. 파일을 열어도 됩니다.
- 문자 집합을 선택하고(UTF-8은 모든 언어와 이모지를 지원합니다), 필요하면 URL 안전 출력이나 76자 줄바꿈을 켜세요.
- Base64 결과를 복사하거나 텍스트 파일로 다운로드하세요.
Base64 인코딩의 원리
인코더는 텍스트를 바이트로 읽어 3바이트(24비트)씩 묶고, 각 묶음을 64개 문자로 이루어진 알파벳의 4개 문자로 바꿉니다. 마지막 묶음이 3바이트보다 짧으면 = 기호를 패딩으로 덧붙입니다. 그래서 Base64 출력은 입력보다 약 33% 커집니다. 예를 들어 Man은 TWFu가 됩니다.
주요 프로그래밍 언어에서 Base64 인코딩하기
- JavaScript:
btoa(String.fromCharCode(...new TextEncoder().encode(text))) - Python:
base64.b64encode(text.encode()).decode() - PHP:
base64_encode($text) - Java:
Base64.getEncoder().encodeToString(text.getBytes(UTF_8)) - Linux/macOS:
echo -n 'text' | base64
자주 묻는 질문
Base64 결과가 원래 텍스트보다 긴 이유는 무엇인가요?
Base64는 3바이트를 4개 문자로 저장하므로 출력 크기는 입력의 약 4/3이 되고 여기에 패딩이 더해집니다. 한글 같은 비라틴 문자는 UTF-8에서 2–4바이트를 차지하므로 Base64 결과가 더욱 길어집니다.
끝에 붙는 = 기호는 무슨 뜻인가요?
패딩입니다. = 하나는 마지막 묶음이 2바이트, == 두 개는 1바이트였다는 뜻입니다. URL 안전 Base64에서는 흔히 생략합니다.
이모지나 한글 같은 비영어 텍스트도 인코딩할 수 있나요?
네. 문자 집합을 UTF-8로 두면 어떤 언어, 기호, 이모지든 올바르게 인코딩되며 어느 시스템에서나 디코딩할 수 있습니다.
76자마다 줄바꿈은 언제 켜야 하나요?
줄바꿈이 필요한 이메일(MIME)과 일부 PEM 인증서에만 사용하세요. API, JSON, URL, Data URI에서는 꺼 두는 것이 좋습니다.