사용 방법
- ‘원본 형식’에서 입력의 인코딩을 선택합니다(예: Base64).
- ‘대상 형식’에서 원하는 인코딩을 선택합니다(예: Base58).
- 입력을 붙여넣으면 변환된 결과가 출력됩니다.
- 결과를 사용하려면 ‘복사’를, 반대 방향으로 변환하려면 ‘입력과 출력 바꾸기’를 클릭합니다.
텍스트가 아니라 바이트를 변환하는 이유
Base64, Base58, 16진수를 비롯해 이 사이트의 모든 인코딩은 바이트를 표기하는 방식입니다. 텍스트로 디코딩한 다음 그 텍스트를 다시 인코딩하는 방법은 데이터가 실제로 텍스트일 때만 제대로 동작합니다. 키, 해시, 서명, 이미지, 압축 데이터에는 올바른 UTF-8이 아닌 바이트 시퀀스가 들어 있습니다. 텍스트 디코더는 이런 바이트를 대체 문자 U+FFFD로 바꾸며, 다시 인코딩한 결과는 아무 경고 없이 틀린 값이 됩니다.
이 변환기는 원본 문자열을 원시 바이트로 디코딩한 뒤 그 바이트를 대상 인코딩으로 직접 표기합니다. 32바이트 키는 정확히 32바이트로 유지되고, 앞쪽의 0 바이트도 보존되며, 반대로 변환하면 같은 바이트가 돌아옵니다. 변환은 전적으로 브라우저에서 실행됩니다.
자주 쓰는 변환
- Base64를 Base58로: API에서 받은 공개 키와 해시를 비트코인, 솔라나, IPFS에서 쓰는 형식으로 옮깁니다. 16진수 입력이라면 16진수 Base58 변환 도구를 참고하십시오.
- Base32를 Base64 또는 16진수로: TOTP 비밀 키를 살펴보거나, 다른 형식을 요구하는 시스템에서 다시 사용합니다.
- 16진수를 Base62 또는 Base58로: URL에 쓸 해시와 ID를 짧게 만듭니다. 64자리 SHA-256 16진수 문자열은 약 43자가 됩니다.
- Base64를 Base64URL로: URL, 쿠키, JWT 필드에 안전하게 쓸 수 있는 값으로 만듭니다.
- Ascii85, Base85, Z85를 Base64로: PDF 스트림, Git 바이너리 패치, ZeroMQ 메시지에서 가져온 데이터를 다시 사용합니다.
같은 4바이트를 다섯 가지 인코딩으로 표기한 예입니다.
| 인코딩 | 값 |
|---|---|
| 16진수 | deadbeef |
| Base64 | 3q2+7w== |
| Base58 | 6h8cQN |
| Base62 | 44pZgF |
| Base85 | -mSjx |
입력 규칙과 제한
- Base64 입력에는 표준 알파벳과 URL 안전 알파벳을 모두 사용할 수 있으며, 줄 바꿈이 있거나 패딩이 빠져 있어도 됩니다.
- 16진수 입력에는 공백, 콜론,
0x접두사가 있어도 되며 대문자와 소문자 모두 허용됩니다. - Base58과 Base62는 데이터를 하나의 큰 수로 다루므로, 이 둘이 포함된 변환은 약 20KB로 제한됩니다.
- 체크섬은 검사하지도 추가하지도 않습니다. Base58Check 문자열을 검증하거나 만들려면 Base58Check 페이지를 이용하십시오.
자주 묻는 질문
Base64를 Base58로 어떻게 변환합니까?
‘원본 형식’에서 Base64를, ‘대상 형식’에서 Base58을 선택한 다음 문자열을 붙여넣으십시오. Base64가 바이트로 디코딩되고, 그 바이트가 솔라나와 IPFS에서도 사용하는 Bitcoin Base58 알파벳으로 표기됩니다.
디코딩한 다음 다시 인코딩하는 것과 같습니까?
데이터가 일반 텍스트일 때만 그렇습니다. 키나 이미지 같은 바이너리 데이터는 텍스트로 디코딩하는 과정에서 바이트가 손실됩니다. 이 도구는 텍스트를 전혀 거치지 않으므로 바이트가 정확히 보존됩니다.