본문으로 건너뛰기

Base32·Base58·Ascii85 변환기

텍스트 또는 원시 바이트를 Base32, Base58, Ascii85 또는 Z85로 인코딩하거나, 그중 어떤 것이든 다시 디코딩합니다. 각 방식의 고유한 알파벳과 패딩 규칙이 적용됩니다. 계산 표는 처음 몇 바이트가 문자로 바뀌는 과정을 보여 줍니다. Base64는 텍스트 인코더·디코더에서 다룹니다. 브라우저에서 실행되며 아무것도 업로드되지 않습니다.

모드

A–Z와 숫자 2–7을 쓰며, 문자당 5비트입니다. 8글자의 배수가 되도록 =로 채웁니다. 디코딩할 때는 대소문자를 구분하지 않습니다.

계산 방법

바이트를 비트로 쓴 뒤 다섯 비트씩 묶습니다. 각 묶음은 0부터 31까지의 수이며, 문자 하나를 고릅니다.

비트값문자
010019J
000011B
1001018S
1011022W
1100024Y
11011273
000113D
0111115P
001015F
1000016Q
1000016Q
001015F
0111014O
11011273
11011273
1001018S

처음 16행을 보여 주고 있습니다.

Base 인코딩 변환기 사용 방법

  1. 1. 인코딩 방식을 고르세요. Base32, 확장 16진수 알파벳을 쓰는 Base32, 비트코인 알파벳의 Base58, Adobe가 쓰는 Ascii85, 또는 Z85. 메뉴 아래 메모가 고른 방식을 설명합니다.
  2. 2. 데이터가 무엇인지 고르세요. 텍스트는 UTF-8 바이트로 읽습니다. 16진수 바이트는 키 같은 임의의 이진 데이터를 86 4f d2 6f처럼 쌍으로 입력해 인코딩할 수 있게 합니다.
  3. 3. 인코딩 또는 디코딩하세요. 인코딩하면 그 방식의 알파벳으로 된 텍스트가 나옵니다. 디코딩하면 다시 바이트가 나오며, 텍스트 또는 16진수로 볼 수 있습니다. 입력의 띄어쓰기와 줄바꿈은 무시됩니다.
  4. 4. 옵션을 확인하세요. Base32는 = 패딩을 붙이거나 붙이지 않고 쓸 수 있습니다. Ascii85는 <~와 ~>로 감쌀 수 있고, 0으로 된 네 바이트를 z로 쓸 수 있습니다.

이 인코딩들은 무엇에 쓰나요?

이들은 어느 것도 암호화가 아닙니다. 출력할 수 없는 바이트를 이메일, URL, QR 코드 또는 설정 파일에 붙여 넣을 수 있는 텍스트로 바꿀 뿐이며, 인코딩 이름만 알면 누구나 되돌릴 수 있습니다. 이들은 사용하는 알파벳과, 데이터보다 텍스트가 얼마나 길어지는지가 다릅니다.

인코딩문자 수바이트 대비 길이Hello, World의 결과
Base32 (RFC 4648)328 ÷ 5배 길이JBSWY3DPFQQFO33SNRSA====
Base32 extended hex328 ÷ 5배 길이91IMOR3F5GG5ERRIDHI0====
Base58 (Bitcoin)58약 1.37배2NEpo7TZsLBYdvo5V
Ascii85 (Adobe)855 ÷ 4배 길이<~87cURD_*#4DfTZ)~>
Z85 (ZeroMQ)855 ÷ 4배 길이nm=QNz.92jz/PV8

Base32

Base32는 바이트를 5비트 묶음으로 자르고, 각 묶음을 A–Z와 2–7의 32글자 중 하나로 씁니다. 0, 1, 8은 O, I, B와 닮았기 때문에 빼고 2부터 7까지 숫자만 쓰며, 글자 모양을 구분하지 않으므로 사람이 소리 내어 읽거나 입력하기 쉽습니다. 패딩 기호 =는 길이를 8의 배수로 맞춥니다. RFC 4648은 foobar → MZXW6YTBOI====== 같은 시험 벡터를 제공합니다. 인증 앱의 비밀 키와 Tor onion 주소도 Base32입니다.

Base58

Base58은 입력 전체를 하나의 큰 수로 보고 58진법으로 씁니다. 0, O, I, l과 기호 + 및 /를 빼서, 결과를 더블클릭으로 복사할 수 있고 잘못 읽기 어렵습니다. 앞쪽의 0 바이트는 각각 첫 글자 1로 씁니다. 비트코인 알파벳은 여러 Base58 알파벳 중 하나입니다. Ripple과 Flickr가 쓰는 것은 글자 순서가 다르므로, 데이터가 어떤 알파벳을 쓰는지 확인하세요. 비트코인 주소는 그 위에 체크섬과 버전 바이트를 더하는데, 이 방식은 Base58Check라고 부르며 이 도구는 계산하지 않습니다.

Ascii85와 Z85

둘 다 네 바이트를 32비트 수로 읽고 85진법 다섯 자리로 씁니다. 그래서 데이터보다 25퍼센트만 길어집니다. PostScript와 PDF에서 쓰는 Adobe의 Ascii85는 !부터 u까지의 문자를 쓰고, 0으로 된 네 바이트를 z로 줄여 쓰며, 보통 <~와 ~>로 감쌉니다. 마지막 한 바이트에서 세 바이트까지 남은 묶음은 바이트 수보다 문자가 하나 더 붙습니다. ZeroMQ의 RFC 32에 정의된 Z85는 소스 코드에서 따옴표와 역슬래시를 피하도록 고른 다른 85글자 알파벳을 쓰며, z 단축 표기도 없고 짧은 마지막 묶음도 없으므로 입력은 반드시 네 바이트의 배수여야 합니다. 명세의 예시는 여덟 바이트 86 4f d2 6f b5 59 f7 5b이며, 이는 HelloWorld로 인코딩됩니다. Git이 쓰는 RFC 1924 등 다른 base-85 알파벳도 있으니, 데이터의 출처에 맞는 알파벳을 고르세요.

자주 묻는 질문

Base32나 Base58은 암호화인가요?
아닙니다. 인코딩입니다. 알파벳과 규칙이 공개되어 있으므로 누구나 되돌릴 수 있습니다. 데이터를 출력 가능하게 하고 복사하기 쉽게 만들 뿐, 비밀로 만들지는 않습니다.
Base58은 왜 어떤 글자를 빼나요?
비슷한 모양과 기호를 피하기 위해서입니다. 많은 글꼴에서 혼동되는 0(숫자 영), O(대문자 오), I(대문자 아이), l(소문자 엘)을 빼고, 더블클릭 선택을 깨뜨리는 +와 /도 뺍니다. 그래서 58글자가 남습니다.
Base32 문자열은 어떻게 디코딩하나요?
Base32를 고르고 복호화 모드로 바꾼 뒤 문자열을 붙여 넣으세요. 대소문자는 상관없고, 끝의 = 기호는 생략해도 됩니다. 문자 이름을 가리키는 오류가 나오면 그 문자열은 아마 확장 16진수 Base32, Base64 또는 다른 인코딩일 것입니다.
Ascii85와 Z85는 무엇이 다른가요?
둘 다 네 바이트를 다섯 글자로 쓰지만 알파벳이 다릅니다. Ascii85는 ! 부터 u까지의 문자를 쓰고, 0을 위한 z 단축 표기가 있으며, 앞뒤를 <~와 ~>로 감쌀 수 있습니다. Z85는 소스 코드에 안전한 알파벳을 쓰고 단축 표기가 없습니다.
Z85가 네 바이트의 배수가 필요하다고 나오는 이유는 무엇인가요?
Z85 명세에는 패딩이 정의되어 있지 않습니다. 데이터는 4바이트 묶음의 정수배여야 하고, 텍스트는 다섯 글자의 배수여야 합니다. 바이트를 직접 채우거나, 짧은 마지막 묶음을 처리하는 Ascii85를 쓰세요.
Base64 문자열은 어떻게 인코딩하나요?
이 페이지는 Base64를 다루지 않습니다. 텍스트 인코더·디코더가 텍스트를 Base64, URL, HTML 엔티티로 바꾸고 되돌리며, XOR Cipher 페이지에서는 16진수 바이트를 Base64로 보여 줄 수 있습니다.

관련 도구

암호 및 부호의 다른 도구