Base64 인코딩 이해하기: 초보자 가이드
Base64 인코딩이 무엇인지, 어떻게 작동하는지, 언제 사용해야 하는지, 흔한 실수는 무엇인지 알아보세요. 데이터 인코딩 작업을 하는 개발자를 위한 실용 가이드입니다.
Base64 인코딩은 모든 개발자가 접하지만 완전히 이해하는 사람은 적은 기본 개념 중 하나입니다. CSS에 이미지를 삽입하거나, 이메일 첨부 파일을 처리하거나, API를 작업할 때 Base64 이해는 필수적입니다.
Base64란?
Base64는 이진 데이터를 ASCII 문자열로 표현하는 이진-텍스트 인코딩 방식입니다. 64개의 문자(A-Z, a-z, 0-9, +, /)와 패딩용 =을 사용하여 모든 이진 데이터를 텍스트 안전 형식으로 나타냅니다.
원본: Hello, World!
Base64: SGVsbG8sIFdvcmxkIQ==
원본: {"key": "value"}
Base64: eyJrZXkiOiAidmFsdWUifQ==지금 이 도구를 사용해 보세요:
Base64 인코더/디코더 →Base64 인코딩의 작동 원리
인코딩 과정은 입력의 3바이트(24비트)를 가져와 6비트씩 4그룹으로 나눕니다. 각 6비트 그룹은 Base64 알파벳의 64개 문자 중 하나에 매핑됩니다. 입력이 3으로 나누어지지 않으면 패딩 문자(=)가 추가됩니다.
- 입력 3바이트가 Base64 문자 4개가 됩니다
- 출력은 항상 입력보다 약 33% 더 큽니다
- = 패딩은 출력 길이가 4의 배수가 되도록 합니다
- Base64는 인코딩이지 암호화가 아닙니다 — 보안을 제공하지 않습니다
일반적인 사용 사례
- Data URI — HTML/CSS에 이미지 직접 삽입
- 이메일 첨부 파일 (MIME 인코딩)
- JSON이나 XML에 바이너리 데이터 저장
- JWT (JSON Web Token) — 헤더와 페이로드가 Base64로 인코딩
- HTTP 기본 인증 헤더
- 텍스트 전용 채널을 통한 파일 전송
Base64 변형
표준 Base64는 +와 / 문자를 사용하는데, URL에서 문제를 일으킬 수 있습니다. URL 안전 Base64는 이를 각각 -와 _로 대체합니다. 웹 애플리케이션에서 두 변형을 모두 만날 수 있으므로, 시스템이 어떤 것을 기대하는지 아는 것이 중요합니다.
성능 고려사항
Base64는 데이터 크기를 약 33% 증가시키므로 성능 영향을 고려해야 합니다. 아이콘이나 간단한 이미지 같은 작은 데이터의 경우 오버헤드는 무시할 수 있으며 HTTP 요청 감소의 이점이 크기 증가보다 큽니다. 더 큰 파일의 경우 일반적으로 별도 리소스로 제공하는 것이 좋습니다.
▶이 글에서 다룬 도구 바로 사용하기
민재
개발자 겸 테크 라이터. 개발 도구와 파일 변환 기술을 깊이 있게 다룹니다.
이 글이 도움이 되셨나요? 새 가이드 알림 받기
스팸 없이, 새 소식만 보내드립니다. 언제든 취소 가능. · 구독 시 개인정보처리방침에 동의합니다.