跳到主要内容

Base58 编解码

Base58 编码解码,比特币风格去易混字符

使用比特币 Base58 字母表(去除了 0/O/I/l)。编码全程本地计算,不上传数据。

为什么需要 Base58 编码

比特币地址、IPFS 哈希、Solana 钱包这类场景,需要把二进制数据变成「人能抄、能读、能贴」的字符串,但又不能用 Base64——因为 Base64 里的 0/OI/l+/= 太容易看错抄错。Base58 专门砍掉了这 6 个易混字符,钱包地址复制错一位也大概率能被校验挡住。

本工具把任意文本或十六进制字节串编码成 Base58,也能反向解码,方便你验证地址格式、做演示或教学。

概念与公式

Base58 是一种二进制到文本的编码,使用 58 个字符的字母表(不含 0 O I l + /):

123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

编码过程:把输入当作一个大整数,不断除以 58 取余数映射到字母表;前导零字节(0x00)编码成前导字符 1。解码是逆过程(乘 58 累加)。它与 Base64 一样是可逆编码,不是加密,本身不保密。

细分场景

  • 比特币地址:Base58Check 在 Base58 之前加版本字节和校验和,错地址几乎不可能通过校验。
  • IPFS / CID:内容寻址哈希常以 Base58(或 Base32)形式呈现。
  • 短链 / 发号器:用 Base58 把自增 ID 压成短串,规避 0OIl 混淆。

怎么用本工具

在输入框贴入要编码的文本(默认按 UTF-8 处理),或切到「十六进制」模式贴 0x 开头的字节串;选择编码 / 解码方向,结果即时显示。解码时请确认输入是合法 Base58 串,否则会报错。

常见场景与实例

例:把十进制 ID 压短 自增 ID 123456789 编码为 Base58 得到 bUKpk 这类短串,适合做邀请码、短链。

例:核对地址长度 把一段疑似地址贴进来解码,能看出它原始字节长度是否合理(合法比特币地址解码后含版本 + 校验共 25 字节)。

相关工具:Base64 编解码哈希类型识别

隐私说明

本工具全程在浏览器本地计算,不联网、不上传、不保存你输入的任何数据。

常见问题

Base58 和 Base64 有什么区别?
Base58 去掉了 0、O、I、l 这四个视觉易混字符,字母表只有 58 个;Base64 有 64 个且含 +/=。因此 Base58 更适合人工抄写和地址展示,代价是体积略大。
比特币地址为什么用 Base58Check?
比特币地址在 Base58 基础上加了版本前缀和校验和(Base58Check),能防抄错一位就汇错地址。本工具做标准 Base58 编解码,不带地址校验和逻辑。
能编码二进制/十六进制吗?
可以。文本模式按 UTF-8 字节编码;也可切到十六进制模式直接对字节流编码。解码结果可复制为文本或十六进制。
IPFS 的 CID 也是 Base58 吗?
是的,CIDv0 以 Qm 开头,就是 Base58 编码的多哈希。复制 CID 到本工具解码可看到原始字节的十六进制。