最近在做文件归档备份,免不了和这三种后缀的压缩格式打交道,因此对三者浅谈一番。

RAR

RAR是一种专利文件格式,用于数据压缩与归档打包,开发者为尤金·罗谢尔(俄),RAR的全名是“Roshal ARchive”,即“罗谢尔的归档”之意。首个公开版本RAR1.3发布于1993年。RAR文件使用后缀名“.rar”。
(引自百度百科)

WinRAR有40天试用期,有趣的是,试用期到期后,WinRAR 的功能并不会停止,而是在每次使用时弹出广告窗口,提醒你去购买正版或者卸载软件,配合拦截弹窗的工具(火绒)就能拥有正版的完美体验。

这种骚操作仅限于非商业个人用户,如果是公司明目张胆使用未购买许可证的WinRAR,将面临严重的侵权问题。

经过多年发展,WinRAR已然占据业界的半壁江山,特别是国内用户对它尤其钟爱,各种吹嘘其压缩比高啦、解压缩速度快啦,不得不佩服“盗版使用”策略的高明之处。

RAR编码器一直有专利(压缩算法),但解码器源码公开了,因此其他压缩软件可以解压RAR格式文件,不能把文件压缩成RAR格式。而WinRAR不仅有自家的RAR格式,还支持开源格式ZIP的解压和压缩。

加密算法:rar5.0使用AES-256CBC。只能暴力破解。


ZIP

ZIP文件格式是一种数据压缩和文档储存的文件格式,原名Deflate,发明者为菲尔·卡茨(Phil Katz),他于1989年1月公布了该格式的资料。ZIP文件使用后缀名“.zip”。
(引自百度百科)

ZIP格式开源免费,被广泛使用。绝大部分操作系统(Windows、Linux、MacOS等)内嵌支持打开以及压缩Zip文件——即使用户的计算机上没有安装解压缩软件,也能打开和制作zip格式的压缩文件。

ZIP文件格式是开放性的,它的压缩算法不局限于一种,但大部分情况ZIP使用的仍然是卡茨的DeflateDeflate64算法。

加密:ZIP支持简单的基于密码的对称加密系统,通常称为ZipCrypto。它记录在ZIP规范中,并且已知存在严重缺陷,容易受到已知明文攻击。但是5.2版以后,ZIP文件格式规范中已记录了包括新压缩和加密(例如AES)方法在内的新功能。7-Zip和Xceed也使用WinZip开发的基于AES的开放标准(APPNOTE中为“ AE-x”),也有一些厂商使用其他格式。

由于ZIP代码开源,有很多实现ZIP的压缩工具,包括专有软件(WinZip,PKZip等)和免费软件(Info-ZIP,PeaZip,7-Zip等)。


7Z

7z格式由7-Zip软件推出,因其高压缩比(LZMA2算法)而越来越流行于世。它是一种可以使用多种压缩算法进行数据压缩的档案格式。该格式开源,7-Zip软件也在GNU宽通用公共许可证(GNU LGPL)协议下开放源代码。7Z文件使用后缀名“.7z”。

相比上面两位老前辈,7z算是后起之秀。开源且模块化的组件结构使它能够兼容任意压缩、转换、加密算法,最高支持16EB的文件压缩,加密算法采用AES-256。

下表是目前已整合到7z中的压缩算法,来自7-Zip官网:

压缩算法备注
LZMA改良与优化后的LZ77算法
LZMA2改良的 LZMA 算法
PPMD基于Dmitry Shkarin的PPMdH算法
BCJ32位x86可执行文件转换程序
BCJ232位x86可执行文件转换程序
BZip2标准BWT算法
Deflate标准LZ77-based算法

默认算法是强大的LZMA2,7z格式的核心。

7-Zip这个名字听起来和ZIP非常相似,实际上并没有太多关联。7-Zip为什么叫这个名字?在开源社区中,官方如是回答:

Now I don't remember reasons for such name (it was in 1998). Maybe there was thought that starting from "7" allows to be in first places in lists sorted by name.
7-Zip/Discussion/Why the name 7-Zip

关于压缩设置

固实压缩

假设有多个文件要打成一个压缩包,使用固实压缩会把这多个文件视为一块整体数据进行压缩,以期望提高压缩比。但并不是用了固实就一定能获得更好的压缩率,这取决于不同文件数据内容的重复情况。它的缺点也很明显:固实压缩文件不能单独解压其中的某个文件,只能“一起压缩,一起解压”,即便你只想预览其中一个小文档,也要乖乖等待整个压缩包全部解压完毕。

在某些时候使用固实压缩能得到惊人的收益,例如差分很多的图集……

标签: 压缩格式

仅有一条评论

  1. lq lq

    666

添加新评论