Base64 인코딩 및 디코딩하는 방법

개발자

Base64 인코딩이 무엇인지, 언제 사용하는지, 텍스트나 파일을 Base64로 인코딩하고 다시 디코딩하는 방법을 실제 예시와 함께 알아보세요.

Base64란?

Base64는 임의의 바이트를 A–Z, a–z, 0–9, 더하기(+), 슬래시(/)의 64개 인쇄 가능한 ASCII 문자만으로 표현하는 바이너리-텍스트 인코딩입니다. 이미지·PDF·ZIP·암호 키처럼 텍스트가 아닌 데이터가 이메일 본문, URL 쿼리 문자열, JSON 필드, XML 속성처럼 텍스트만 허용하는 경로를 안전하게 통과하도록 설계되었습니다. Base64는 암호화가 아닙니다: 누구나 원래 바이트로 되돌릴 수 있습니다. 대가로 출력 크기가 약 33% 증가합니다 — 3바이트 입력이 4문자 출력이 됩니다.

일상적인 사용처

  • 웹페이지의 Data URI

    작은 이미지나 폰트를 data:image/png;base64,iVBORw…로 CSS나 HTML에 직접 넣어 HTTP 요청을 한 번 아낄 수 있습니다.

  • 이메일 MIME 첨부

    이메일 프로토콜은 7비트 ASCII를 전제로 해서 모든 바이너리 첨부는 본문에서 Base64로 인코딩됩니다.

  • JSON / XML에 바이너리 담기

    API가 JSON 필드에 파일이나 키를 반환해야 할 때, JSON 문자열은 원시 바이트를 담지 못하므로 Base64가 표준 포장 방식입니다.

단계별 가이드

1

Base64 이해하기

Base64는 64개의 ASCII 문자(A-Z, a-z, 0-9, +, /)를 사용하여 이진 데이터를 텍스트 문자열로 인코딩합니다. 암호화가 아니라 인코딩입니다. 누구든지 디코딩할 수 있습니다. 텍스트 전용 채널을 통해 이진 데이터를 안전하게 전송하는 데 사용됩니다.

2

텍스트를 Base64로 인코딩하기

Base64 도구를 열고, 입력 필드에 텍스트를 붙여넣고, 인코딩을 클릭하세요. 예: "Hello, World!"는 "SGVsbG8sIFdvcmxkIQ=="로 인코딩됩니다.

3

Base64를 텍스트로 디코딩하기

디코딩 필드에 Base64 문자열을 붙여넣고 디코딩을 클릭하세요. 도구가 원래 텍스트로 변환합니다. 끝의 패딩 문자(=)는 형식의 일부입니다.

4

일반적인 사용 사례

HTML/CSS에 이미지 삽입(data URI): data:image/png;base64,iVBOR... 이메일 첨부 파일 인코딩(MIME). HTTP 기본 인증 헤더에서 자격 증명 전달. JSON에 이진 데이터 저장.

5

Base64URL과 표준 Base64

Base64URL은 URL 안전을 위해 + 대신 -를, / 대신 _를 사용합니다. JWT는 Base64URL 인코딩을 사용합니다. 우리 도구는 두 변형을 모두 지원합니다.

무료 도구 사용

Base64 인코더/디코더

자주 묻는 질문

Q: Base64가 파일 크기를 증가시키나요?

A: 네 — Base64 인코딩은 데이터 크기를 약 33% 증가시킵니다. 3바이트 입력이 4개의 Base64 문자가 됩니다.

Q: Base64는 암호화와 같은 건가요?

A: 아니요. Base64는 인코딩이지 암호화가 아닙니다. 보안을 제공하지 않습니다 — 누구든지 키 없이 디코딩할 수 있습니다. 보안을 위해서는 인코딩 전에 암호화(AES, RSA 등)를 사용하세요.

Q: "=" 패딩은 무엇을 의미하나요?

A: Base64는 한 번에 3바이트를 4문자로 인코딩합니다. 입력 길이가 3의 배수가 아닌 경우, 마지막 4문자 블록을 완성하기 위해 = 문자가 패딩으로 추가됩니다.