Text에서 Base58로 변환기
0, O, I, l을 제외해 혼동을 줄이는 Bitcoin 알파벳으로 텍스트를 Base58로 인코딩하거나 Base58을 다시 텍스트로 디코딩하세요. 이 도구는 입력을 UTF-8 바이트로 변환하고, 선행 0바이트를 앞쪽의 1 문자로 유지하며, 디코딩할 때 모든 문자를 확인합니다. Bitcoin, Solana, IPFS 식별자를 다루는 개발자에게 적합합니다. Base58은 입력 길이의 제곱에 비례해 커지므로 입력은 10 KiB로 제한됩니다.
자주 묻는 질문
Base58이란 무엇인가요?
Base58은 데이터를 하나의 큰 숫자로 취급해 58진수로 표기하는 바이너리-텍스트 인코딩입니다. Bitcoin과 함께 도입되었으며, 읽고 복사하기 쉬운 간결한 문자열을 만들도록 설계되었습니다. 숫자와 문자를 사용하지만 0, O, I, l은 제외합니다.
이 도구는 어떤 알파벳을 사용하나요?
이 도구는 Bitcoin 알파벳 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz를 사용합니다. Solana, IPFS 및 대부분의 라이브러리에서도 같은 알파벳을 사용합니다. Ripple과 Flickr는 순서가 달라 지원하지 않습니다.
알려진 예시를 사용해 볼 수 있나요?
텍스트 hello world는 StV1DL6CwTryKyV로, abc는 ZiCa로 인코딩됩니다. 빈 입력은 빈 결과를 반환합니다. 이 문자열을 디코딩하면 원래 텍스트가 반환됩니다.
이 도구는 Base58Check인가요?
아니요. Bitcoin 주소에 사용되는 Base58Check는 인코딩 전에 버전 바이트와 4바이트 이중 SHA-256 체크섬을 추가합니다. 이 도구는 체크섬 없이 원시 텍스트 바이트를 인코딩합니다.
10 KiB 제한이 있는 이유는 무엇인가요?
Base58 변환은 하나의 큰 수를 반복해서 나누므로 작업량이 입력 길이의 제곱에 비례해 증가합니다. Base58은 키와 주소처럼 짧은 값에 쓰이며, 10,240바이트는 그런 값에 필요한 크기를 훨씬 초과합니다.
선행 0바이트는 어떻게 처리하나요?
선행 0바이트마다 선행 1 문자가 되고, 디코딩할 때 선행 1은 다시 0바이트가 됩니다. 텍스트가 0바이트로 시작하는 경우는 드물지만, 이 방식으로 인코딩의 정확성을 유지합니다.
디코딩할 때 UTF-8 관련 오류가 표시되는 이유는 무엇인가요?
공개 키나 주소 같은 Base58 문자열에는 텍스트가 아닌 임의의 바이트가 들어 있는 경우가 많습니다. 이 도구는 유효한 UTF-8 텍스트만 표시하므로 읽을 수 없는 문자를 출력하는 대신 해당 입력을 오류로 알립니다.
입력이 유효하지 않다고 거부되는 이유는 무엇인가요?
0, O, I, l, 중간에 있는 공백 및 문장 부호를 포함해 알파벳에 없는 문자는 유효한 Base58이 아닙니다. 디코딩 전에 앞뒤 공백은 제거됩니다.
Base58은 암호화 방식인가요?
아니요. Base58은 키 없이 되돌릴 수 있는 인코딩이므로 누구나 디코딩할 수 있습니다. 비밀 유지가 아니라 읽기 쉽게 만드는 용도로 사용하세요.
Base58은 Base64보다 크기가 큰가요?
약간 더 큽니다. Base58은 바이트당 약 1.37개의 문자가 필요하고, Base64는 약 1.33개가 필요합니다. 그만큼의 작은 비용으로 서로 헷갈릴 수 있는 문자와 문장 부호가 없는 알파벳을 사용할 수 있습니다.