58 Base58编码
Bitcoin标准 · 大整数运算 · 易读编码
Bitcoin标准 · 大整数运算 · 易读编码
想查看某次查询的完整结果?点击以下记录即可打开对应结果页(含详细解读与常见问题)。
Base58是Base64的变种,去掉容易混淆的字符(0、O、I、l)和非字母数字符号(+、/),被比特币地址广泛使用,也用于IPFS、Flickr短链接等场景。
Base58去掉了视觉上易混淆的字符,更适合手动输入和阅读;Base64用4/3的膨胀率更紧凑但含+、/符号。Base58劣势是需要大整数运算,速度稍慢。
这些字符在不少字体里难以区分(0和O、I和l和1),抄写或口述时极易出错。Base58去掉它们,就是为了减少人工转录错误。
Base58从Base64的64个字符中删掉了:数字0、大写O、大写I、小写l,以及+和/。保留数字1-9开头,避免以前导0开头造成歧义。
不是。Base58Check是在Base58基础上,末尾附加4字节校验和(对数据做两次SHA256取前4字节Hex后再Base58),比特币地址用的就是Base58Check,能检测抄写错误。
能。Base58本质是把字节串转成一个大整数再按58进制展开,任何二进制数据都能编码。本工具内部就是先把UTF-8文本转字节再编码。
Base64每3字节直接映射4字符,只用查表;Base58要把整个字节串当作一个大整数反复除以58,涉及大整数运算,数据越长越明显。
不是。它只是编码,任何人解码就还原,没有任何保密性。别把它当加密用。
Base58字母表共58个字符,从Base64的64个字符里剔除了6个易混淆/特殊字符。
| 类型 | 字符 | 数量 |
|---|---|---|
| 数字 | 1 2 3 4 5 6 7 8 9 | 9个 |
| 大写字母 | A B C D E F G H J K L M N P Q R S T U V W X Y Z | 24个(去掉I、O) |
| 小写字母 | a b c d e f g h i j k m n o p q r s t u v w x y z | 25个(去掉l) |
| 已剔除 | 0 O I l + / | 6个 |
注意数字0被剔除,但数字1保留,所以Base58字符串不会以0开头。
正是这4字节校验,让手抄地址抄错时能被及时发现。
| 场景 | 用途 | 特点 |
|---|---|---|
| 比特币地址 | Base58Check编码 | 人类可读、可校验 |
| IPFS CID | 兼容Base58 | 链接可共享 |
| Flickr短ID | 短链标识 | 短小易读 |
| 部分加密密钥展示 | Base58编码 | 便于人工抄录 |
凡是"需要人眼阅读、手写、口述"的标识,都比较适合用Base58。
| 编码 | 字符集 | 膨胀率 | 易混淆字符 | 校验 |
|---|---|---|---|---|
| Base64 | 64 | 约4/3 | 有(+ /) | 无 |
| Base58 | 58 | 约1.37倍 | 无 | 可选Check |
| Base32 | 32 | 约8/5 | 较少 | 可选 |
| Hex | 16 | 2倍 | 无 | 可选 |
| 数据 | Base58结果长度 | Base64结果长度 |
|---|---|---|
| 短文本 | 略短 | 略长 |
| 较长文本 | 约1.37×原长 | 约1.33×原长 |
| 含特殊字节 | 不含+/ | 可能含+/ |
1. 输入文本(UTF-8)。
2. 点击"编码"将文本转为Base58。
3. 输入Base58字符串,点击"解码"恢复原文。
4. 查看Base58字母表。