Press⌘+Kto search
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 对比
| 对比项 | Base64 | Base85(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、JWT | PDF / 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字符串转义与反转义,支持单引号、双引号、模板字符串格式
热门 新品 本地