Base58 编解码

🔤 Base58 Encode/Decode

Encode and decode Base58 (Bitcoin alphabet) in your browser — compact, human-readable keys without 0/O/l/I confusion.

📐 工作原理与说明
比特币等场景使用的编码:剔除易混字符,且不使用填充符。
  • 字母表:58 个字符,从 0-9A-Za-z 中去掉 0、O、I、l 等易混项。
  • 算法:把字节串视为大整数,反复除以 58 取余映射字符;前导零字节单独编码为 1。
  • Base58Check:版本字节 + 载荷 + 4 字节校验(对载荷做双 SHA-256 取前 4 字节)。
  • 注意:无 = 填充,长度不固定;解码须区分纯 Base58 与 Base58Check。

📖 算法说明

Base58 类似 Base64,但去除了视觉上易混淆的字符(0/O/I/l),常用于比特币地址。

算法采用大整数除法映射,不依赖固定块大小。

📚 深度解析:Base58 编码 / 解码

💡 常见使用场景

  • 比特币地址、IPFS 哈希等采用 Base58,去掉了易混字符 0/O、I/l。
  • 需要人类可读又不区分大小写的短标识时可用它代替 Base64。
编码 "Hello World"
输入 `Hello World` → 输出 `2NEwd2UZ`;Base58 移除了 0、O、I、l 四个易混字符。

❓ 常见问题(FAQ)

Base58 比 Base64 短吗?
字符集更小(58 vs 64),同等信息编码后略长,但避免了视觉歧义。
前导零怎么处理?
Base58 把字节串当作一个大整数反复做除法,这样前导的 0x00 字节会丢失。约定是:原文每个前导零字节编码成一个字符 '1'(字母表中的第一个字符)。比特币地址以 1 或 3 开头,往往就来自版本字节或前导零。
⚠️ 使用说明与注意事项
📖关于「Base58 编解码」 ▼

📝工具简介

Base58 编解码。专为开发者打造的在线工具,纯前端运行,代码不离开浏览器。