Base58 编码器
使用比特币字母表将文本或十六进制字节编码为 Base58。前导零字节变为 1,不含易混淆的 0/O/I/l 字符。免费,在浏览器内运行。
12 个字符 · 12 字节(UTF-8)
0 个字符 · 0 字节(UTF-8)
完全在浏览器中运行,您的数据不会被上传。
什么是 Base58 编码?
使用比特币字母表(123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz)以 Base58 编码数据。Base58 去掉了 0、O、I 和 l,使值在阅读和输入时不易混淆;比特币地址、IPFS CID 和 Solana 密钥都使用它。
如何使用 Base58 编码
- 在输入中输入文本,或将输入格式切换为十六进制字节,以编码哈希或密钥等原始字节。
- Base58 字符串会显示在输出中。
- 使用复制,或用作输入再次对其解码。
示例
输入
Hello World!
输出
2NEpo7TZRRrLZSi2U
何时使用 Base58 编码
Base58 适用于人们可能手工复制的短标识符。它不适合大数据:转换是平方复杂度,也没有流式形式。比特币地址还需要 Base58Check,本工具不会添加。
Base58 编码 的工作原理
字节被当作一个大端序的大整数,反复除以 58;按相反顺序读取余数,即可选出字母表字符。由于数字没有前导零,每个前导的 0x00 字节都会写成一个前导的 1。这是纯 Base58——不会添加校验和(Base58Check 会添加 4 字节的双重 SHA-256 校验和,本工具不计算它)。
常见用例
- 对公钥哈希或哈希摘要编码以便展示
- 创建紧凑且便于人读的 ID
- 核对其他库的 Base58 输出
- 理解为什么地址以“1”开头
常见问题
为什么零字节会变成“1”?
“1”是 Base58 中代表零的数字。每个前导零字节都保留为一个“1”,这样可以还原出准确的字节长度。
这能生成比特币地址吗?
不能。地址需要版本字节、哈希以及 Base58Check 校验和,本工具只执行 Base58 这一步。
使用的是哪种字母表?
比特币字母表。Ripple 和 Flickr 使用不同的顺序,不受支持。