报错的真正原因:容器认得,算法不认得
先说结论:.7z 是容器格式,容器里用什么算法压缩是打包者决定的。官方 7-Zip 只内置了 LZMA/LZMA2/PPMd/BCJ 等经典算法;而 7-Zip-zstd 分支额外提供了 6 种现代算法。当打包者用分支版以 Zstandard 等算法压缩时,官方版打开这个 .7z 就是「不支持的压缩方法」。
| 压缩包内部算法 | 官方 7-Zip | 7-Zip-zstd |
|---|---|---|
| LZMA / LZMA2(默认) | 支持 | 支持 |
| Zstandard(zstd) | 不支持(26.00 起支持部分场景) | 原生支持 |
| Brotli | 不支持 | 原生支持 |
| LZ4 / LZ5 / Lizard | 不支持 | 原生支持 |
| Fast-LZMA2 | 不支持 | 原生支持 |
换句话说:文件本身没坏,你的工具少了解码器。安装 7-Zip-zstd 即可解开,两个版本可以共存互不影响。