Base85编码转换

Ascii85(Adobe 变体)编码与解码,支持 UTF-8,比 Base64 更紧凑

Base85(Ascii85)将每 4 个字节映射为 5 个可打印字符(字符集 ! 到 u),全零组缩写为 z,膨胀率仅 25%,低于 Base64 的 33%。支持 <~ ~> 包裹开关、UTF-8 中文、解码合法性校验,全部在浏览器本地完成。

输入与配置

统计信息

0

输入字节

0

输出字符

-

膨胀率

Base85 膨胀率约 1.25(5/4),Base64 为 1.33(4/3),Base85 每编码 4 字节省约 6% 体积。

编码结果

输入内容后点击「编码」,这里会显示结果

编码规则

  • • 每 4 个字节拼成 32 位整数,按 85 进制拆成 5 个字符,字符集为 ASCII 33(!)到 117(u)
  • • 4 个字节全为 0 时用单个 z 表示(仅在分组起始处合法)
  • • 尾部不足 4 字节时补零编码,只取前「剩余字节数 + 1」个字符;解码时用 u(84)补齐还原
  • • Adobe 变体使用 <~ 与 ~> 包裹整段数据,常用于 PDF 与 PostScript
  • • 解码时会校验字符范围、z 的位置与溢出,防止静默产生错误数据

Base85 与 Base64 对比

对比项Base64Base85(Ascii85)
字符集A-Z a-z 0-9 + /(64 个)ASCII 33~117(! 到 u,85 个)
膨胀率4/3 ≈ 133%5/4 = 125%
分组方式3 字节 → 4 字符(6 bit)4 字节 → 5 字符(32 位整数)
特殊字符无(URL 安全变体用 - _)含 , . ; ' 等标点,z 缩写全零组
典型应用邮件 MIME、Data URI、JWTPDF / PostScript 内嵌流、Git 二进制补丁、Adobe 系产品
UTF-8 支持本工具均先经 TextEncoder 转为 UTF-8 字节再编码,中文等多字节字符可无损还原

#关于Base85编码转换

Base85(又称 Ascii85)是一种将二进制数据编码为可打印 ASCII 字符的方案:把每 4 个字节当作一个 32 位大整数,用 85 进制写成 5 个字符,字符集从 !(33)到 u(117)。相比 Base64 每 3 字节输出 4 字符(膨胀 33%),Base85 每 4 字节输出 5 字符(膨胀 25%),体积更小。Adobe 变体在 PDF 与 PostScript 文件中广泛用于内嵌二进制流,并使用 <~ ~> 作为定界符。

典型应用场景

  • 阅读 PDF 内部结构(对象流常用 Ascii85 + Flate 双重编码)时解码分析
  • Git 二进制补丁(git diff --binary)中出现的 Base85 数据块解码
  • 需要比 Base64 更省字节的文本通道二进制传输方案设计
  • CTF 与安全研究中的多层编码还原

常见问题

  • 中文能编码吗?可以。工具先用 TextEncoder 把文本转成 UTF-8 字节再编码,解码时按 UTF-8 还原,中文与 Emoji 均可无损往返。
  • z 是什么?4 个字节全为 0 的分组缩写为单个字符 z,可显著压缩长串零(如 PDF 中的空数据),但 z 只能出现在分组边界。
  • 编码结果为什么包含标点符号?Base85 字符集覆盖 ASCII 33~117,包含逗号、分号、引号等标点,复制时注意不要被聊天软件转换成全角字符。

相关工具推荐

UTF-8编码转换

支持UTF-8、UTF-16、UTF-32之间的编码转换,实时显示字节数组和编码详情

热门 新品 本地

二维码生成

生成二维码图片

热门 新品 本地

颜色编码转换

HEX、RGB、HSL、HSV颜色格式之间的相互转换

热门 新品 本地

Unicode编码转换

文本与Unicode转义序列(\uXXXX)之间的转换,支持中文、Emoji等

热门 新品 本地

多编码转换工具

支持Base32、Base58、Base62等多种编码格式的相互转换

热门 新品 本地

JS字符串转义

JavaScript字符串转义与反转义,支持单引号、双引号、模板字符串格式

热门 新品 本地