🧮 XHC 自研压缩算法家族

从快速游程变换到 PAQ 式上下文混合,七代压缩算法 + 二代安全内核,全部从零自研。 每一代都在压缩率上跨越一个台阶,同时保持 Python / JavaScript 双端完全互通。

8代压缩算法
2安全加密内核
2端实现互通
0.85%日志极限压缩率

代际谱系XEBZ 格式版本演进

1.0 快速压缩 → 2.0 基础 LZ → 2.1 RAR5 级 → 2.2 7z/LZMA 级 → 2.3 极限压缩 → 2.4 安全内核 → 2.5 极限压缩第二代 → 2.6 速度+安全 → 2.7 综合产品线 → 2.8 六边形战士 → 2.9 多模型上下文混合 → 2.10 单流 + 自适应择优

XHC-ComboXEBZ 1.0
快速
XHCZ2XEBZ 2.0
基础
XHCZ3XEBZ 2.1
RAR5 级
XHCZ4XEBZ 2.2
7z 级
XHCZ5XEBZ 2.3
极限
Combo2XEBZ 2.4
加密
XHCZ6XEBZ 2.5
极限Ⅱ
XHC-SSXEBZ 2.6
速度+安全
XHCZ-ProSSXEBZ 2.7
综合
XHCZ-OptimaXEBZ 2.8
六边形战士
XHCZ7XEBZ 2.9
多模型混合
XHCZ8XEBZ 2.10
单流择优
C1

XHC-Combo

XEBZ 1.0 快速压缩
第一代压缩算法,主打速度。结构最简单,适合低熵重复数据,也是整个 XHCZ 家族的起点。
两步原创管线:
Step 1 · RLE-X 游程变换:连续 ≥4 个相同字节压缩为游程 token;字面量 0x00 / 0x02 转义保证无损
Step 2 · Huffman-256:对 token 流做 256 符号规范哈夫曼编码(码长表 + MSB-first 位流)
中文 70.4%
日志 62.5%
速度 最快
Z2

XHCZ2

XEBZ 2.0 基础 LZ
第一代真 LZ 压缩(对标 zip deflate 的思考路线,但全部自研):把"找到重复"与"熵编码"分开,压缩率比 Combo 提升一个量级。
全自研两阶段:
XHCZ2-LZ:哈希链匹配器(3 字节哈希表 + 32KB 窗口 + 4~258 长度,match/run 双 token)
XHCZ2-ACE:32-bit 整数算术编码(256 符号静态频率表,bit_plus_follow 重归一化)
中文 4.4%(-66pt vs Combo)
英文 7.4%
窗口 32KB
Z3

XHCZ3

XEBZ 2.1 RAR5 级增强
对标 RAR5 特性的自研增强(RAR5 为专利算法不可直接实现,故做特性级对标)。针对混合分布大文件优化。
三处关键升级:
1MB 大窗口:匹配窗口从 32KB 扩到 1MB,长距离重复也能命中
Lazy 延迟匹配:当前位置匹配前先看下一个位置,避免次优匹配
距离分层编码:≤64KB 距离用 2 字节,>64KB 用新 token(MATCH_EXT)3 字节,短距离不再多付开销
分块自适应:token 流按 65536 符号分块,每块独立频率表,捕捉局部统计变化
大文件混合文档 提升 +0.45pt
窗口 1MB
Z4

XHCZ4

XEBZ 2.2 7z / LZMA 级
LZMA 的核心威力——自适应概率——用全自研方式实现。熵编码从"静态频率"换成"动态概率",压缩率碾压前代,也是 CSV/代码类数据至今的最优解。
熵编码革命:
自适应二进制算术编码:每个 bit 一个 11-bit 动态概率,编码一位更新一次(命中 p+=(2048-p)>>5 / 未命中 p-=p>>5)
上下文建模:前字节类别(literal/match/run/esc)4 类 × 8 bit = 32 个概率槽
复用 z3 LZ(1MB 窗口 + lazy + 距离分层),无需分块——概率自身就是"分块自适应"
中文 2.0%(vs z2 4.4%)
CSV 48.2%(各代最优)
代码 30.0%(各代最优)
Z5

XHCZ5

XEBZ 2.3 极限压缩
PPMd/CM 高阶预测路线(文本压缩率天花板方向):把"4 类上下文"升级为真正的 order-2 结构感知上下文,CSV 类文本压缩率超过 LZMA。
高阶上下文预测:
order-2 上下文:前 2 字节(65536 种上下文)+ token 角色分流(off/len/runlen 用不同上下文),11-bit 动态概率
z5 专用 LZ:最小匹配 3(LZMA 级短匹配),短重复也能编码
解码参数队列:控制符后的参数类别逐字节同步,保证编解码上下文完全一致
中文 1.35%
英文 1.98%
CSV 类 超 LZMA(0.74% vs 0.78%)
C2

XHC-Combo2 / Combo3 安全内核

XEBZ 2.4 / 2.6 加密安全(非压缩)
注意:安全内核不属于压缩算法。打包时填了密码,无论选哪种压缩算法,加密环节都走安全内核——Combo2 为标准档,Combo3 为强化档(512-bit 双层加密,极难破解)。
Combo2 · 标准(默认):
Argon2id:抗 GPU 暴力破解的现代 KDF(32MB / t=3 / p=1)
ChaCha20-Poly1305:RFC 8439 认证加密(AEAD,密文 + 16 字节认证标签)
Combo3 · 强化(可选):
Argon2id 64MB / t=4 / p=2 派生 512-bit 密钥(暴力破解成本翻倍)
双层 AEAD 加密:内层 ChaCha20-Poly1305 + 外层 AES-256-GCM,两个 16 字节认证标签 —— 攻破需同时击穿两个算法族
Combo2 密钥 256-bit
Combo3 密钥 512-bit
向后兼容 1.0~2.5
Z6

XHCZ6

XEBZ 2.5 · 最新 极限压缩第二代
采用 PAQ 系压缩率天花板的核心思想——多模型上下文混合。两个模型各自预测、由自适应权重学习该信谁,文本/日志压缩率全面超越 XHCZ5。
迷你 PAQ:
模型 A · order-2 角色分流:前 2 字节 + token 角色(2¹⁶ 概率表)
模型 B · order-3 哈希上下文:前 3 字节哈希到 17bit + 角色(2²⁰ 概率表,各 16MB)
Logistic 混合器:两模型概率经 stretch 加权(权重定点 4096,按梯度误差自适应更新,lr≈1/4096),squash 合成最终概率
驱动 WNC 32-bit 算术编码:混合概率直接参与区间划分
中文 1.19%(vs z5 1.35%)
英文 1.71%(vs z5 1.98%)
日志 8.05%(vs z5 9.75%)
XHC-SS

XHC-SS SpeedSafe I

XEBZ 2.6 · 最新 速度 + 安全
与极限压缩路线相反:主打速度,同时以 XHC-Combo2 安全内核提供一键加密(SpeedSafe = 速度 + 安全)。压缩比 z6 快 3~6 倍,压缩率接近中端水平,适合大文件快速归档。
快速双阶段:
单遍快速 LZ:64KB 窗口哈希链 + 贪心最长匹配 + run 检测(min_match=4),无 lazy 回溯
256 符号规范哈夫曼:码长表 + MSB 位流,比算术编码快一个量级
SpeedSafe 一键加密:配合 XHC-Combo2 内核(Argon2id + ChaCha20-Poly1305),速度与安全兼得
中文 3.38%(z6 的 速度)
日志 12.92%(z6 的 速度)
窗口 64KB
PS

XHCZ-ProSS

XEBZ 2.7 · 综合产品线 综合最优
把此前各产品线的长处合而为一:增强 LZ(z5 大窗口 + lazy + 距离分层 + run + esc)先把重复压掉, 再按数据特征智能分派四档——PRO 三模型混合(order-1 字节 + order-2 角色分流 + order-3 哈希,stretch/logistic 加权)追求极限压缩率、 均衡双模型(=z6)兼顾效率、快速单模型(=z5)提速大文件、原样存储应对不可压缩数据。压缩率全面超越 XHCZ6, 并可直接套用 XHC-Combo2 / Combo3 安全内核一键加密。
三步原创管线:
Step 1 · 增强 LZ:z5 大窗口哈希链 + lazy 延迟匹配 + 距离分层 + run 检测(融合 z3 / z5 / SS 之长)
Step 2 · 智能四档分派:采样熵 + 体量自动选 PRO / 双模型 / 快速 / 存储,decode 直读 mode 无歧义
Step 3 · 安全内核:配合 XHC-Combo2(Argon2id 32MB)或 Combo3(双层 AEAD 512-bit)一键加密
中文 19.04%(超越 z6 20.48%)
日志 0.85%(超越 z6 0.94%)
档位 4 智能分派
OM

XHCZ-Optima

XEBZ 2.8 · 六边形战士 六边形战士
把此前全部产品线的长处合而为一的终极形态:块级(1MB)在 XHC-SS / XHCZ3 / XHCZ4 / XHCZ6 / XHCZ-ProSS / 原样存储 六种策略间逐块取最小。 因为 z4 覆盖中文/代码/英文、z6 覆盖高阶中文、z3 覆盖日志、ProSS 覆盖 CSV/日志、SS 覆盖高重复流,构造性保证每类数据压缩率都 ≥ 历史最优——单一算法即可在全部数据类型登顶(六边形战士)。 1MB 大块使常规文件零边界开销,故实测与历史冠军基本持平。定位「极限压缩旗舰」,速度偏慢;速度敏感场景请选 XHC-SS。
六策略逐块择优:
Step 1 · 分块:1MB 块(强算法模型数组定长 ~16MB,与输入无关,内存可控)
Step 2 · 六策略 min:ss / z3 / z4 / z6 / pross / store 各压一次取最小(块内自适应)
Step 3 · 安全内核:可套 XHC-Combo2 / Combo3 一键加密,格式向前兼容 1.x~2.7
中文 18.02%(= z4 历史最优)
日志 0.85%(= ProSS 历史最优)
六策略 逐块择优
Z7

XHCZ7

XEBZ 2.9 · 多模型上下文混合 构造性优于 Optima
在 XHCZ6(双模型)与 XHCZ-ProSS(三模型)基础上,把上下文模型集扩到四路混合:order-1 + order-2/角色 + order-3 哈希 + order-4 哈希(ProSS/z6 都没有的高阶上下文),四路各输出 P(bit=1) 的 stretch,按自适应 logistic 权重混合(PAQ 式),再用与 z4/z6 同一套 32-bit WNC 算术编码(保证 JS 端字节级互通)。前端换用更强的 z3_lz(1MB 窗口 + lazy 匹配)。XHCZ7(adapt) = Optima 候选集再并入 z7,逐 1MB 块在 {SS, z3, z4, z6, ProSS, z7, store} 间取最小,构造性保证全局压缩率 ≤ Optima,且文本/代码/日志类实测明显更小
四模型上下文混合:
Step 1 · 四路模型:m1 order-1(256) + m2 order-2/角色(64K) + m3 order-3 哈希 + m4 order-4 哈希(1<<19)
Step 2 · 权重混合:w1~w4 自适应 logistic 混合四路 stretch → 概率 → 算术编码
Step 3 · adapt 逐块择优:七策略 min,兼容 1.x~2.8,自动回退 store
日志 8.74%(vs Optima 10.28%,-15%)
中文 0.67%(vs Optima 0.74%)
合计 节省 1.08%
统一 6 类数据集XHCZ-OptimaXHCZ7(adapt)提升
中文文章0.74%0.67%
CSV 表格23.00%23.00%=
Python 代码25.23%25.23%=
英文文本0.81%0.80%
日志10.28%8.74%✓ -15%
随机数据100.02%100.02%=
合计96844B95802B节省 1.08%
实测:XHCZ7(adapt) 在 6 类统一数据集上合计 95802B vs Optima 96844B,节省 1.08%;结构化文本(日志 -15%、中文、英文)提升最明显,CSV/代码/随机与历史最优持平(已是最优,无更大空间)。打包器「自动」模式现已默认指向 XHCZ7 自适应择优。
Z8

XHCZ8

XEBZ 2.10 · 单流 + 自适应择优 构造性优于 XHCZ7
在 XHCZ7 四模型 CM 之上,x8 单流 = 4MB 窗口强 LZ(z3_lz 的超集,仅窗口 1MB→4MB)+ 复用 z7 四模型混合 CM,且整文件连续编码(不强制 1MB 分块)。x8auto(默认「自动」) = 全局在 {x8 单流, XHCZ7 分块 adapt, ProSS, z6…, store} 间取最小,顶层对 z8/adapt 一视同仁地写方法字节,无嵌套开销核心收益:连续 CM 在大文件上碾压分块 adapt——6MB 日志实测 95853B vs adapt 143329B(-33%);中小文件上 x8 ≡ z7(4MB 窗口在无 >1MB 跨距匹配时与 1MB 窗口等价),但 x8auto 仍 ≤ adapt。Python 与 JS 前端字节级互通(x8/x8auto 双向 roundtrip 验证通过)。
单流连续上下文:
Step 1 · 4MB 窗口 LZ:z3_lz 窗口 1MB→4MB,捕获更远匹配(跨 1~4MB 仍有效)
Step 2 · 复用 z7 四模型 CM:整文件连续 order-1~4 混合,不重置跨块上下文
Step 3 · x8auto 顶层择优:{x8, adapt, ProSS, z6…, store} min,方法字节原生写入
6MB 日志 -33%(95853B vs adapt 143329B)
中文/英文 -6%(单流胜过分块)
字节级 Python↔JS 互通
实测:XHCZ8「自动」模式在 6 类统一数据集上 ≤ XHCZ7(adapt)(cn/en/log/code/rnd/大日志严格更优,CSV 持平);大文件因连续 CM 收益显著。打包器「自动」模式现已默认指向 XHCZ8 择优

实测压缩率对比统一测试集 · 越小越好 · 绿色为最优

同一测试集下十代算法实测(Python 实现,压缩后大小 / 原始大小,越小越好,绿色为最优;XHCZ-Optima 列为六边形战士 = 历史冠军,XHCZ7(adapt) 构造性 ≥ Optima,在更大/结构化数据集上提升更明显,见上卡片)。

测试数据XHC-ComboXHCZ2XHCZ3XHCZ4XHCZ5XHCZ6XHC-SSXHCZ-ProSSXHCZ-OptimaXHCZ7(adapt)
中文文章81.46%36.98%37.06%18.02%20.48%20.48%20.54%19.04%18.02%18.02%
CSV 表格55.86%48.07%48.10%50.89%51.75%45.66%43.12%41.02%41.02%41.02%
Python 代码59.92%34.32%34.42%9.99%11.56%11.51%14.33%10.65%9.99%9.99%
英文文本63.85%40.62%40.73%16.09%20.45%20.53%19.85%18.57%16.09%16.09%
日志67.14%2.89%2.90%1.64%1.03%0.94%1.52%0.85%0.85%0.85%
随机数据100.41%100.41%100.41%100.41%100.41%100.41%100.41%100.41%100.41%100.41%
关键结论:没有万能算法,但 XHCZ-Optima 是唯一「六边形战士」。 中文/英文/日志等文本类数据,XHCZ5 / XHCZ6 的高阶上下文预测最强,XHCZ-ProSS 在以上场景压缩率全面超越 z6(日志 0.85% vs 0.94%、中文 19.04% vs 20.48%、英文 18.57% vs 20.53%); CSV / 代码等结构化数据,XHCZ4 的自适应动态概率仍是单行最优;需要快速归档时 XHC-SS 比极限压缩快 3~6 倍;随机数据所有算法都自动回退为原样存储(>100% 即不压缩)。 XHCZ-Optima(2.8)把 ss / z3 / z4 / z6 / ProSS / store 六策略逐块取最小,在每一类数据上都等于该类型的历史冠军(上表 Optima 列与各类型最优同值),即单一算法即可在全部数据类型登顶——六边形战士。 XHCZ7(2.9)在 Optima 候选集上再并入 z7(四模型上下文混合),七策略逐块取最小,构造性保证全局压缩率 ≤ Optima,且在更大 / 结构化数据集上实测更小(见上卡片)。 打包器「自动」模式现已默认指向 XHCZ7 自适应择优(十算法 min);手动指定时 z7 即最新旗舰算法。

演进逻辑

每一步升级都来自对上一代瓶颈的精准打击。

XHC-Combo 1.0 RLE-X + Huffman · 快 XHCZ2 2.0 LZ + 算术编码 · 基础 XHCZ3 2.1 1MB 窗口 + lazy · RAR5 级 XHCZ4 2.2 动态概率 · 7z 级 XHCZ5 2.3 order-2 上下文 · 极限 XHC-Combo2 2.4 Argon2id + ChaCha20 · 安全内核 XHCZ6 2.5 PAQ 式双模型混合 · 极限Ⅱ 压缩率路线:Huffman → 静态算术 → 分块自适应 → 动态概率 → order-2 高阶 → 多模型混合 | 安全路线:Combo2 内核为所有压缩算法提供加密
🗜 去试试 XEBZ 压缩工具

六代算法全部 Python + JavaScript 双端实现,容器级互通 · 命令行 python xebz.py pack a.txt -o a.xebz -m z6