Base 系列编解码

概述

Base 系列编解码工具支持 Base32、Base58、Base62、Base64、Base85、Base91、Base122、Base32768 共 8 种算法,可对文本或文件进行编码与解码,所有运算在浏览器本地完成。不同算法针对不同场景设计:Base64 是 API 与 JWT 的通用选择,Base58 消除了视觉上容易混淆的字符,Base32768 则在字符数受限的平台上实现最大数据密度。

各算法的输入输出示例

Base64 标准编码:

输入:hello world
输出:aGVsbG8gd29ybGQ=

Base64URL(去除填充,+-/_):

输入:hello world
输出:aGVsbG8gd29ybGQ

Base32(RFC 4648,大写字母 A-Z + 数字 2-7):

输入:hello
输出:NBSWY3DPEB3W64TMMQ======

Base58(Bitcoin 字母表,无 0/O/l/I):

输入:hello world
输出:StV1DL6CwTryKyV

Base62(纯字母数字,天然 URL 安全):

输入:hello
输出:7YWHMfk9JZe0LM0

算法选型参考

通用场景

  • Base64 — API 二进制负载、Basic Auth 头、JWT 令牌、HTML 内联图片
  • Base64URL — URL 参数、文件名、不允许 +/= 的场景
  • Base32 — DNS 记录、不区分大小写的系统(文件系统 / TOTP 密钥)

特定场景

  • Base58 — 加密货币钱包地址、交易 ID(Bitcoin / Flickr / Ripple 三种变体)
  • Base62 — 短链接 ID、唯一标识符生成
  • Base85 — 高密度 ASCII 内联,Ascii85 用于 PDF/PostScript,Z85 用于 ZeroMQ
  • Base91 — 空间最紧凑的纯 ASCII 编码
  • Base32768 — 推特等有字符数限制的平台,每字符存储 15 位数据

编码效率对比

算法编码后体积字符集大小
Base32原始的 160%32
Base58原始的 ~137%58
Base62原始的 ~135%62
Base64原始的 133%64
Base85原始的 125%85
Base91原始的 ~123%91
Base122原始的 ~115%122
Base32768原始的 ~107%32768

体积越小代表编码效率越高。Base32768 虽然字符数最多,但因每个 Unicode 字符携带 15 位数据,编码后输出反而最紧凑。

文件编码说明

编码模式下可切换"文件"输入,上传任意二进制文件后工具读取字节流并编码输出。并非所有算法都支持文件编码——Base122 和 Base32768 等基于 Unicode 的算法目前仅支持文本输入。

解码注意事项

解码时输入必须是合法的目标格式字符串,多余的空格或换行会导致解码失败。Base64 标准格式末尾可能带 = 填充,Base64URL 通常不带;解码时选错变体会得到乱码而非报错,可切换变体后对比结果。