跳转到正文

Text 至 Base58 转换器

使用 Bitcoin 字母表将文本编码为 Base58,或将 Base58 解码回文本;该字母表省略了 0、O、I 和 l,以避免混淆。该工具会将输入转换为 UTF-8 字节,将前导零字节保留为前导 1 字符,并在解码时检查每个字符。适用于处理 Bitcoin、Solana 和 IPFS 标识符的开发者。输入上限为 10 KiB,因为 Base58 的计算量会呈二次增长。

常见问题

什么是 Base58?

Base58 是一种二进制到文本编码,会将数据视为一个大整数,并以 58 进制表示。它随 Bitcoin 一同引入,可生成紧凑且易于阅读和复制的字符串。其字母表使用数字和字母,但不包含 0、O、I 和 l。

该工具使用哪种字母表?

它使用 Bitcoin 字母表 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz,Solana、IPFS 和大多数库也都使用该字母表。Ripple 和 Flickr 使用不同的顺序,因此不受支持。

可以试试已知示例吗?

文本 hello world 编码后为 StV1DL6CwTryKyV,abc 编码后为 ZiCa。空输入会得到空结果。解码这些字符串会返回原始文本。

这是 Base58Check 吗?

不是。用于 Bitcoin 地址的 Base58Check 会在编码前添加一个版本字节和一个四字节双重 SHA-256 校验和。此工具编码的是原始文本字节,不包含任何校验和。

为什么限制为 10 KiB?

Base58 转换会反复对一个大整数进行除法,因此运算量会随输入长度的平方增长。Base58 面向密钥和地址等短值,10,240 字节远超这些值所需的长度。

如何处理前导零字节?

每个前导零字节都会变成一个前导 1 字符,每个前导 1 解码后都会还原为一个零字节。文本很少以零字节开头,但这样可以确保编码精确无误。

为什么解码时会出现 UTF-8 相关错误?

许多 Base58 字符串(例如公钥或地址)包含的是随机字节,而不是文本。该工具只显示有效的 UTF-8 文本形式的解码数据,因此会报告这类输入,而不会输出无法阅读的字符。

为什么我的输入被判定为无效?

字母表之外的字符(包括 0、O、I、l、中间的空格和标点符号)都不是有效的 Base58 字符。解码前会去除首尾空格。

Base58 是一种加密方式吗?

不是。Base58 是一种无需密钥即可逆转的编码,因此任何人都能解码。它适合提升可读性,不适合保密。

Base58 比 Base64 大吗?

略大。Base58 每字节约需 1.37 个字符,而 Base64 每字节约需 1.33 个字符。这点额外开销换来了不含相似字符或标点符号的字母表。

关于 OneClick Pro

OneClick Pro 是一个免费的工具集合,包含超过 150 种网络工具,助你处理日常工作:转换图像和单位、格式化和验证代码、检查域名和 SEO,以及处理文本、日期和数字。所有工具均可免注册、免订阅使用;你输入的内容仅用于计算结果,绝不会被存储。你可以将它用作处理临时任务的快捷工具箱,也可以收藏每天都会用到的工具。