转载自:http://velep.com/archives/368.html
本文详细介绍了7z压缩格式、LZMA压缩算法和支持7z压缩格式的7-Zip压缩软件,希望对你了解7z压缩格式有所帮助。
7z,一种文件压缩格式,具有高压缩比率,它采用了多种压缩算法进行数据压缩。因此,与其它压缩格式相比,得到的压缩文档较小。现在流行的好压软件支持这种压缩格式。
7z格式的主要特色:
- 开放式体系架构,可轻易的添加任何一种新的压缩方法,如LZMA、LZMA2、BZip2等;
- 高压缩比率;
- 强大的AES-256加密(256 bit Advanced Encryption Standard (AES));
- 能够兼容任意压缩、转换、加密算法;
- 最高支持 16000000000 GB 的文件压缩;
- 以 Unicode 为标准的文件名;
- 支持固实压缩;
- 支持文件头压缩;
7z格式支持的算法:
7z 已公开了结构编辑功能,所以它可以支持任何一种新的压缩算法。到目前为止,下列压缩算法已被整合到了 7z 中::
压缩算法 | 备注 |
---|---|
LZMA | 改良与优化后的 LZ77 算法 |
LZMA2 | 改良的 LZMA 算法 |
PPMD | 基于 Dmitry Shkarin 的 PPMdH 算法 |
BCJ | 32 位 x86 可执行文件转换程序 |
BCJ2 | 32 位 x86 可执行文件转换程序 |
BZip2 | 标准 BWT 算法 |
Deflate | 标准 LZ77-based 算法 |
LZMA算法介绍:
LZMA是7z格式默认的压缩算法,它的主要特征有:
- 高压缩比率;
- 可变的字典大小(高达4GB);
- 压缩速度:在 2 GHz CPU上,大约 1 MB/s;
- 解压缩速度:在 2 GHz CPU上,大约10-20 MB/s ;
- 较小解压缩内存(依赖于所选的字典大小);
- 较小的解压缩代码,大约5KB;
- 支持多线程;
基于以上优点,LZMA压缩算法适合嵌入式应用。此外,LZMA算法基于GNU LGPL发布。LZMA SDK下载地址:http://www.7-zip.org/sdk.html。
7-Zip介绍和主要特征:
7-Zip 是一款拥有极高压缩比的开源压缩软件,大多数源代码都基于 GNU LGPL 许可协议下发布,可任意使用。它的主要特征如下:
- 使用了 LZMA 与 LZMA2 算法的 7z 格式,拥有极高的压缩比;
- 支持格式:
- 压缩 / 解压缩:7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM
- 仅解压缩:ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, WIM, XAR, Z
- 对于 ZIP 及 GZIP 格式,7-Zip 能提供比使用 PKZip 及 WinZip 高 2-10% 的压缩比;
- 为 7z 与 ZIP 提供更完善的 AES-256 加密算法;
- 7z 格式支持创建自释放压缩包;
- Windows 资源管理器集成;
- 强大的的文件管理器;
- 更给力的命令行版本;
- 支持 FAR Manager 插件;
- 支持 79 种语言;
7-Zip 适用于 Windows 7 / Vista / XP / 2008 / 2003 / 2000 / NT / ME / 98。并且有面向 Mac OS X、Linux、Unix 平台的命令行版本。
7-Zip压缩比
让我们把 7-Zip 和常用的压缩软件进行比较。
文件设置:完整安装后的 Mozilla Firefox 1.0.7 for Windows 和 Google Earth 3.0.0616 for Windows。
软件名称 | Mozilla Firefox | Google Earth | ||
---|---|---|---|---|
161 个文件 15,684,168 字节 | 115 个文件 23,530,652 字节 | |||
压缩后 | 压缩比 | 压缩后 | 压缩比 | |
7-Zip 4.23(7z 格式) | 4621135 | 100% | 6109183 | 100% |
WinRAR 3.50 | 5021556 | 109% | 6824892 | 112% |
CABARC 5.1 | 5131393 | 111% | 7434325 | 122% |
WinZip 10.0 beta(maximum-PPMd) | 5277118 | 114% | 8200708 | 134% |
7-Zip 4.23(zip 格式) | 6222627 | 135% | 8909446 | 146% |
WinZip 10.0 beta(maximum-portable) | 6448666 | 140% | 9153898 | 150% |
压缩比结果由被压缩的数据大小而定。通常使用 7-Zip 的 7z 格式能比使用 zip 格式的压缩档案小 30-70%。并且使用 7-Zip 创建的 zip 格式比大多数其它压缩软件创建的都小 2-10%。
7-Zip中文官方网站:http://sparanoid.com/lab/7z/
写在最后:
reille会在接下来的两篇文章中介绍LZMA SDK和怎么把它移植到嵌入式linux中。