Base64 텍스트 인코더

단계 1 / 333%

입력

Base64는 ASCII 이외의 문자를 포함한 텍스트를 출력 가능한 ASCII가 필요한 시스템에서 다룰 수 있게 합니다. 이 도구는 브라우저 안에서만 작동하며 RFC 4648에 따라 UTF-8 텍스트를 Base64로 인코딩하거나 Base64를 올바른 UTF-8 텍스트로 디코딩합니다. URL 안전 방식과 패딩도 선택할 수 있습니다. 바이너리 데이터에는 파일 또는 바이너리 디코더를 사용하세요.

Base64 텍스트 인코딩의 동작 방식

  1. 1

    텍스트 붙여넣기

    기본 해석은 UTF-8입니다. 모든 문자가 먼저 UTF-8 바이트열로 바뀝니다.

  2. 2

    방향 선택

    텍스트를 Base64로 인코딩하거나 Base64를 텍스트로 디코딩합니다.

  3. 3

    방식 선택

    표준(`A-Z a-z 0-9 + /`) 또는 URL 안전 방식(`+`와 `/`를 `-`와 `_`로 대체)을 선택합니다. 인코딩할 때는 패딩(`=`)도 켜고 끌 수 있습니다.

  4. 4

    결과 복사

    Base64 또는 패딩 없는 Base64URL 값을 요구하는 형식에서만 결과를 사용하세요. 텍스트 인코딩만으로 완전한 JWT나 인증 헤더를 만들거나 검증할 수는 없습니다.

예제로 살펴보기

단어 café를 인코딩하면:

  1. UTF-8 인코딩: 63 61 66 C3 A9(5바이트. é는 UTF-8에서 2바이트입니다)
  2. 3바이트 단위로 묶기: 63 61 66 | C3 A9
  3. 3바이트마다 4개의 Base64 문자로 변환: Y 2 F m | w 6 k =
  4. 최종 결과: Y2Fmw6k=

URL 안전 방식 Base64

표준 Base64는 URL과 파일 이름에서 예약된 의미를 갖는 +/를 사용합니다.

  • +는 폼 방식 쿼리를 디코딩할 때 공백으로 바뀔 수 있습니다.
  • /는 URL 경로 구분자로 해석됩니다.

URL 안전 방식 Base64(RFC 4648 5절)는 이를 -_로 바꿉니다. 끄지 않으면 = 패딩은 남으므로 대상 형식이 패딩 없는 값을 요구할 때 명시적으로 끄세요.

패딩

Base64 출력은 4문자 단위 블록으로 묶입니다. 입력 길이가 3바이트의 배수가 아니면 마지막 블록은 4문자를 채우기 위해 =로 패딩됩니다.

입력 바이트 출력 패딩
1 4 ==
2 4 =
3 4 (없음)

Base64URL로 인코딩한 JWT 세그먼트처럼 일부 형식은 패딩을 생략합니다. 이 도구는 패딩이 있는 입력과 올바르게 생략된 입력을 모두 받습니다.

자주 하는 실수

  • Base64를 암호화로 착각하기. 아닙니다. 누구나 Base64를 디코딩할 수 있으며 아무것도 숨기지 못합니다.
  • UTF-8을 잊기. “café”를 Latin-1로 인코딩하면 UTF-8과 다른 바이트가 나옵니다. 받는 쪽이 무엇을 기대하는지 모른다면 UTF-8을 유지하세요.
  • 공백과 함께 붙여넣기. RFC 4648 디코더는 기본적으로 알파벳 밖의 문자를 거부합니다. MIME처럼 참조 형식이 허용할 때만 ASCII 공백, 탭, 줄바꿈, 폼 피드를 받아들이는 이 도구의 옵션을 켜세요.

자주 묻는 질문

아니요. 인코딩일 뿐 암호화가 아닙니다. “aGVsbG8=“는 어떤 Base64 디코더에서도 “hello”로 디코딩됩니다. 기밀이 필요하다면 먼저 암호화한 뒤, 전송을 위해 암호문을 Base64로 바꾸세요.

Base64는 입력 3바이트를 출력 4문자로 표현하므로 인코딩된 형태가 약 33% 커집니다. 패딩은 최대 두 문자를 추가합니다.

Base64URL은 표준 Base64의 +/ 대신 -_를 사용합니다. 패딩은 별도 선택 사항이므로 대상 형식이 패딩 없는 값을 요구하면 끄세요.

표준 Base64를 쿼리 값으로 사용할 때는 퍼센트 인코딩해야 합니다. Base64URL은 +/를 피하며, 대상 형식이 =를 허용하지 않으면 패딩도 끄세요.

관련 도구