Base32·Base58·Ascii85 변환기
텍스트 또는 원시 바이트를 Base32, Base58, Ascii85 또는 Z85로 인코딩하거나, 그중 어떤 것이든 다시 디코딩합니다. 각 방식의 고유한 알파벳과 패딩 규칙이 적용됩니다. 계산 표는 처음 몇 바이트가 문자로 바뀌는 과정을 보여 줍니다. Base64는 텍스트 인코더·디코더에서 다룹니다. 브라우저에서 실행되며 아무것도 업로드되지 않습니다.
A–Z와 숫자 2–7을 쓰며, 문자당 5비트입니다. 8글자의 배수가 되도록 =로 채웁니다. 디코딩할 때는 대소문자를 구분하지 않습니다.
계산 방법
바이트를 비트로 쓴 뒤 다섯 비트씩 묶습니다. 각 묶음은 0부터 31까지의 수이며, 문자 하나를 고릅니다.
| 비트 | 값 | 문자 |
|---|---|---|
| 01001 | 9 | J |
| 00001 | 1 | B |
| 10010 | 18 | S |
| 10110 | 22 | W |
| 11000 | 24 | Y |
| 11011 | 27 | 3 |
| 00011 | 3 | D |
| 01111 | 15 | P |
| 00101 | 5 | F |
| 10000 | 16 | Q |
| 10000 | 16 | Q |
| 00101 | 5 | F |
| 01110 | 14 | O |
| 11011 | 27 | 3 |
| 11011 | 27 | 3 |
| 10010 | 18 | S |
처음 16행을 보여 주고 있습니다.
Base 인코딩 변환기 사용 방법
- 1. 인코딩 방식을 고르세요. Base32, 확장 16진수 알파벳을 쓰는 Base32, 비트코인 알파벳의 Base58, Adobe가 쓰는 Ascii85, 또는 Z85. 메뉴 아래 메모가 고른 방식을 설명합니다.
- 2. 데이터가 무엇인지 고르세요. 텍스트는 UTF-8 바이트로 읽습니다. 16진수 바이트는 키 같은 임의의 이진 데이터를
86 4f d2 6f처럼 쌍으로 입력해 인코딩할 수 있게 합니다. - 3. 인코딩 또는 디코딩하세요. 인코딩하면 그 방식의 알파벳으로 된 텍스트가 나옵니다. 디코딩하면 다시 바이트가 나오며, 텍스트 또는 16진수로 볼 수 있습니다. 입력의 띄어쓰기와 줄바꿈은 무시됩니다.
- 4. 옵션을 확인하세요. Base32는
=패딩을 붙이거나 붙이지 않고 쓸 수 있습니다. Ascii85는<~와~>로 감쌀 수 있고, 0으로 된 네 바이트를z로 쓸 수 있습니다.
이 인코딩들은 무엇에 쓰나요?
이들은 어느 것도 암호화가 아닙니다. 출력할 수 없는 바이트를 이메일, URL, QR 코드 또는 설정 파일에 붙여 넣을 수 있는 텍스트로 바꿀 뿐이며, 인코딩 이름만 알면 누구나 되돌릴 수 있습니다. 이들은 사용하는 알파벳과, 데이터보다 텍스트가 얼마나 길어지는지가 다릅니다.
| 인코딩 | 문자 수 | 바이트 대비 길이 | Hello, World의 결과 |
|---|---|---|---|
| Base32 (RFC 4648) | 32 | 8 ÷ 5배 길이 | JBSWY3DPFQQFO33SNRSA==== |
| Base32 extended hex | 32 | 8 ÷ 5배 길이 | 91IMOR3F5GG5ERRIDHI0==== |
| Base58 (Bitcoin) | 58 | 약 1.37배 | 2NEpo7TZsLBYdvo5V |
| Ascii85 (Adobe) | 85 | 5 ÷ 4배 길이 | <~87cURD_*#4DfTZ)~> |
| Z85 (ZeroMQ) | 85 | 5 ÷ 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로 보여 줄 수 있습니다.