Base58 编码器与解码器
用比特币字母表从文本或 HEX 字节进行 Base58 编码与解码,全部在你的浏览器中完成。你的输入始终留在本地。
Base58 编码器 / 解码器完全在你的浏览器中运行。你编码或解码的文本和 HEX 字节绝不会离开你的设备,也不会上传任何内容到 ArrayKit。
打开 Base64 编码器 / 解码器
关于 Base58 编码器 / 解码器
Base58 编码器 / 解码器使用比特币字母表——123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz——在数据与 Base58 之间转换;该字母表去掉了视觉上易混淆的 0、O、I 和 l,因此编码后的字符串易于阅读和重新输入。给它 UTF-8 文本或原始 HEX 字节,它就会产生一个紧凑的 Base58 字符串;切换到「解码」可把 Base58 字符串转回文本或 HEX。前导的零字节会被保留为前导的 '1' 字符,正是比特币地址和 WIF 密钥的构成方式。它便于检查密钥、哈希、短标识符,以及类 IPFS 的值,而无需引入库。一切都在你的设备上运行——你粘贴的字节绝不离开浏览器。
功能特性
- 把 UTF-8 文本或原始 HEX 字节编码成 Base58 字符串
- 用一个开关把 Base58 字符串解码回文本或 HEX
- 使用比特币字母表,排除易混淆的 0、O、I 和 l
- 把前导的零字节保留为前导的 '1' 字符
- 接受带或不带 0x 前缀以及散落空格的 HEX 输入
- 当某字符不在 Base58 字母表中时给出清晰的内联错误
- 大整数运算可处理任意长度的输入
- 完全在你的浏览器中运行,不上传任何内容
如何使用 Base58 编码器 / 解码器
- 保持选中「编码」标签页,并为输入选择 Text 或 Hex
- 输入文本或粘贴 HEX 字节以得到 Base58 字符串
- 从右侧窗格复制 Base58 输出
- 切换到「解码」,选择 Text 或 Hex 输出,并粘贴一个 Base58 字符串
示例
输入
hello
输出
Cn8eVZg
"hello" 的 UTF-8 字节的 Base58 是 Cn8eVZg。
常见错误与故障排除
- 解码报告一个无效的 Base58 字符。 — Base58 排除 0(零)、O(大写 o)、I(大写 i)和 l(小写 L)。检查这些相似字符,并在解码前移除任何空格或标点。
- 编码时 HEX 输入被拒绝。 — HEX 必须有偶数个数字,且只含 0-9 / a-f。移除多余的半字节和非 HEX 字符;开头的 0x 没问题,会为你去掉。
- 往返之后前导零字节似乎消失了。 — 其实没有——每个前导零字节都变成一个前导 '1'。解码回 Hex,00 字节就会重新出现在最前面。
- 解码后的文本显示替换字符。 — 这些字节不是有效的 UTF-8 文本。把输出开关切到 Hex,以查看原始字节,而不是尝试把它们渲染为文本。
常见问题
- 这个 Base58 工具使用哪套字母表?
- 它使用比特币字母表:123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz。数字 0、O、I 和 l 被去掉,使编码后的字符串避免相似字符。它与比特币地址和 WIF 密钥所用的字母表相同。
- Base58 中前导的零字节如何处理?
- 输入中的每个前导零字节都被编码为一个前导 '1' 字符,每个前导 '1' 都解码回一个零字节。这就是为什么以 0x00 版本字节开头的比特币地址会以 1 开头。
- 我可以编码原始 HEX 字节而不是文本吗?
- 可以。把输入开关设为 Hex,并粘贴像 00287fb4cd 这样的字节,带或不带 0x 前缀均可。在解码一侧你可以选择 Hex 输出,以取回原始字节而非文本。
- Base58 和 Base64 有什么不同?
- Base58 使用 58 个符号,并去掉 +、/、= 以及易混淆的 0、O、I、l,因此它更短,也更便于人工阅读或重新输入。Base64 使用 64 个符号、更密集,但包含在 URL 中需要转义且可能被误读的字符。
- 这个工具会计算带校验和的 Base58Check 吗?
- 不会。它对你提供的确切字节执行纯 Base58 编码和解码。它不添加或校验比特币地址所用的 4 字节 Base58Check 校验和,因此如需该功能请搭配一个哈希工具使用。
- 我粘贴的字节会被发送到服务器吗?
- 不会。Base58 编码器 / 解码器完全在你的浏览器中运行。你输入或粘贴的文本和 HEX 都留在你的设备上,绝不会上传到 ArrayKit。
相关工具
全部 ArrayKit 工具