주요 콘텐츠로 건너뛰기
FreeOnlineTools Go
한국어
설명

Base64 인코딩이란? 완전한 설명

작성자: FreeOnlineTools Team · 2026-09-02에 업데이트됨

빠른 답변

Base64 인코딩은 64개의 인쇄 가능한 문자(A-Z, a-z, 0-9, +, /)를 사용하여 이진 데이터를 텍스트로 변환합니다. 3바이트 입력마다 4 Base64 문자가 됩니다. Base64은 되돌릴 수 있으며(암호화 아님) 데이터 크기를 최대 33%까지 늘립니다. 무료 Base64 인코더 및 디코더를 사용하여 브라우저에서 변환하세요.

소개

Base64은 64개의 인쇄 가능한 문자를 사용하여 이진 데이터를 ASCII 문자열 표현으로 변환하는 이진-텍스트 인코딩 체계입니다. 이는 RFC 4648에 의해 정의되며 텍스트(이메일 첨부 파일(MIME), HTML/CSS의 데이터 URLs, JWT 토큰 부분 및 바이너리 데이터가 포함된 JSON 페이로드)를 처리하도록 설계된 미디어를 통해 전송되어야 하는 데이터를 인코딩하는 데 일반적으로 사용됩니다. Base64은 암호화가 아닌 인코딩입니다. 완전히 되돌릴 수 있으며 키가 필요하지 않습니다. 누구나 Base64을 해독할 수 있으므로 기밀성이 제공되지 않습니다.

단계별

  1. 문자 집합 이해

    Base64은 A-Z(26), a-z(26), 0-9(10), + 및 /(2) 등 64자를 사용합니다. = 문자는 입력 길이가 3의 배수가 아닐 때 패딩에 사용됩니다. URL-safe 변형은 +를 -로, /를 _로 바꾸고 패딩을 생략합니다.

  2. 인코딩 작동 방식 알아보기

    Base64은 3바이트(24비트) 블록으로 입력을 처리합니다. 각 24비트 블록은 4개의 6비트 그룹으로 분할됩니다. 각 6비트 값(0-63)은 64개 문자 중 하나에 매핑됩니다. 입력이 3의 배수가 아닌 경우 패딩(=)이 추가됩니다: 1바이트 입력 → 2 Base64 문자 + ==, 2바이트 → 3문자 + =.

  3. 크기 오버헤드 이해

    Base64은 데이터 크기를 약 33% 늘립니다. 즉, 3바이트마다 4자가 됩니다. Base64으로 인코딩되면 1MB 파일은 ~1.33MB가 됩니다. 이 오버헤드는 텍스트 전용 호환성에 대한 절충안입니다.

  4. 인코딩과 암호화 구별

    Base64은 암호화가 아니라 인코딩입니다. 열쇠가 없어도 되돌릴 수 있습니다. 누구나 해독할 수 있습니다. Base64은 기밀성을 제공하지 않습니다. 전송을 위해 바이너리만 텍스트로 변환합니다. 비밀번호나 비밀을 저장하는 데 Base64을(를) 사용하지 마세요.

예

텍스트 인코딩

입력: Hello, World!

산출: SGVsbG8sIFdvcmxkIQ==

바이너리 데이터 인코딩(16진수로 표시)

입력: 바이트: 0x00 0x01 0x02

산출: AAEC

URL-안전한 Base64 (JWT 스타일)

입력: Standard: SGVsbG8= → URL-safe: SGVsbG8 (no padding, - and _ for + and /)

산출: JWT 토큰 및 URL 매개변수에 사용됩니다.

일반적인 문제

  • Base64을 암호화로 처리 —Base64은 키 없이 되돌릴 수 있습니다. 누구나 해독할 수 있습니다. 민감한 데이터를 보호하기 위해 사용하지 마십시오.
  • ASCII가 아닌 문자 — 순진한 btoa()는 유니코드에서 발생합니다. TextEncoder + btoa(unescape(encodeURIComponent(text))) 또는 UTF-8 인식 도구를 사용하세요.
  • 패딩 제거 - = 패딩은 인코딩의 일부입니다. 이를 제거하면 디코딩이 중단됩니다(일부 디코더에서는 이를 재구성할 수 있음).
  • 크기 오버헤드 —Base64은 데이터 크기에 ~33%를 추가합니다. 대용량 파일의 경우 이는 중요합니다. 인코딩이 필요한지 고려하십시오.

팁

  • 별도의 HTTP 요청 없이 HTML/CSS에 작은 이미지를 삽입하려면 데이터 URLs에 Base64을 사용하세요.
  • URLs 및 JWT 토큰에는 URL 안전 Base64(+를 -로, /를 _로 교체, 스트립 패딩)을 사용하세요.
  • Base64은 암호화가 아닙니다. 기밀 유지가 아닌 전송 호환성을 위해 사용하십시오.
  • 브라우저에서 즉각적인 비공개 변환을 위해 Base64 인코더 및 디코더를 사용하세요.

관련 도구

관련 가이드

참고자료