Base32 인코더 / 디코더

RFC 4648, Crockford, z-base-32 알파벳으로 Base32를 인코딩·디코딩합니다. 패딩과 대소문자 옵션 지원, 텍스트와 파일 모두 브라우저에서 처리.

입력 내용과 파일은 브라우저 밖으로 전송되지 않습니다

인코딩할 텍스트를 입력하거나 디코딩할 Base32 데이터를 붙여넣으세요. 아래에 파일을 끌어다 놓을 수도 있습니다.

파일을 여기로 드래그 앤 드롭하세요

파일을 선택하면 텍스트 입력 대신 사용됩니다.

디코딩 옵션

인코딩 또는 디코딩 결과가 여기에 표시됩니다.

이 페이지에서

텍스트나 파일을 Base32로 인코딩하고 RFC 4648, Crockford, z-base-32 세 가지 알파벳으로 디코딩합니다. 모든 처리는 Rust로 컴파일한 WebAssembly 모듈이 브라우저에서 수행하므로 붙여 넣은 시크릿이 업로드되지 않습니다.

상세 기능

Base32는 문자 하나에 5비트를 담고 영문자와 숫자만 사용하므로 대소문자가 바뀌어도 깨지지 않고, 손으로 입력하거나 소리 내어 읽기 쉽습니다. RFC 4648 알파벳(A–Z, 2–7)은 인증 앱의 TOTP 시크릿과 Tor onion 주소에 쓰입니다. Crockford(0–9, I·L·O·U를 뺀 A–Z)는 사람이 다루기 좋게 설계되어, 디코딩할 때 I와 L을 1로, O를 0으로 읽고 하이픈은 무시합니다. z-base-32는 가독성을 고려해 배열한 소문자 알파벳이며 패딩이 없습니다.

8자 배수로 맞추는 = 패딩은 필수, 선택, 없음 중에서 고릅니다. 문자 대소문자로 출력을 대문자나 소문자로 고정할 수 있고, 자동은 알파벳 고유의 표기를 유지합니다. 디코딩은 모든 알파벳에서 대소문자를 구분하지 않으며, 공백/개행 허용을 켜면 공백과 줄 바꿈도 건너뜁니다.

텍스트는 선택한 문자셋(UTF-8, UTF-16LE, UTF-16BE, ASCII, ISO-8859-1)으로 바이트로 바뀝니다. 파일은 선택하거나 페이지에 끌어다 놓을 수 있고, Web Worker에서 진행률 표시줄과 취소 버튼과 함께 읽습니다. 디코딩한 바이트가 올바른 텍스트가 아니면 그 사실을 알려 주며, 다운로드로 원시 바이트를 저장할 수 있습니다.

실용적인 예제

세 가지 알파벳: hello는 NBSWY3DP(RFC 4648), D1JPRV3F(Crockford), pb1sa5dx(z-base-32)로 인코딩됩니다.

패딩과 대소문자: Hi는 필수 패딩에서 JBUQ====, 패딩 없음에서 JBUQ가 되고, 문자 대소문자를 소문자로 하면 jbuq====가 됩니다.

대소문자 무관 디코딩: JBSWY3DPEE======와 jbswy3dpee====== 모두 Hello!가 됩니다. 패딩을 선택 사항으로 두면 패딩 없는 JBSWY3DPEE도 디코딩됩니다.

Crockford의 관용성: Crockford 알파벳에서는 DIJPRV3F(1 대신 영문 I)와 d1jp-rv3f(소문자와 하이픈)가 모두 hello로 디코딩됩니다.

이 도구 사용 방법

  1. 텍스트 입력 또는 파일 선택

    입력 (텍스트)에 텍스트를 입력하거나 붙여 넣고, 또는 파일을 페이지에 끌어다 놓거나 파일 선택을 클릭합니다.

  2. 알파벳과 패딩 선택

    알파벳에서 RFC 4648 (A-Z2-7), Crockford (0-9A-Z), z-base-32 중 하나를 고릅니다. 패딩, 문자 대소문자, 그리고 텍스트가 UTF-8이 아니면 텍스트 문자셋도 설정합니다.

  3. 인코딩 또는 디코딩

    인코딩을 누르면 Base32가, 디코딩을 누르면 원래 텍스트나 바이트가 나옵니다. 문자열을 만들 때 쓴 것과 같은 알파벳을 사용하세요.

  4. 복사 또는 다운로드

    복사는 결과를 클립보드에 넣고 다운로드는 파일로 저장합니다. 바이너리 결과는 다운로드만 할 수 있습니다.

팁 및 모범 사례

  • Base32 출력은 입력보다 약 60% 깁니다(5바이트마다 8자). 대소문자 무관이 필요 없다면 Base64가 더 간결합니다.
  • otpauth:// QR 코드의 TOTP 시크릿은 RFC 4648 Base32이며 패딩이 없는 경우가 많으므로 선택 사항 패딩을 고르세요. JBSWY3DPEHPK3PXP는 10바이트의 원시 데이터가 되므로 다운로드로 저장합니다.
  • 패딩이 필수이면 JBSWY3DPEE 같은 입력은 거부됩니다. 선택 사항으로 바꾸세요.
  • 알파벳끼리는 호환되지 않습니다. pb1sa5dx는 z-base-32에서만 hello가 되고 RFC 4648로는 유효하지 않습니다.
  • 공백/개행 허용이 켜져 있으면 붙여 넣은 키의 공백과 줄 바꿈은 무시됩니다.