正在阅读:可知压缩软件也有大坑?老司机谈压缩软件的故事可知压缩软件也有大坑?老司机谈压缩软件的故事

2017-08-27 00:15 出处:PConline原创 作者:Aimo 责任编辑:censi

  【PConline 杂谈】压缩软件大家都用得多了,老司机们从网上下载个什么资源,很多情况下都会下载到压缩文件。压缩文件的好处有很多,一来减少体积节省流量,二来打包方便可以一次性容纳N个文件,要使用这些压缩文件,压缩软件往往是必不可少的。压缩软件使用简单,但其实很多朋友并没有意识到,这里面也存在一些大坑。今天,就来讲讲压缩软件的故事吧。


你都了解压缩软件吗?

  压缩软件的原理

  为什么压缩软件能够减少文件体积?无论是什么压缩软件,其目的就只有一个——减少冗余数据。这是什么意思呢?例如某行字是“000011111”,就可以压缩为“0(4)1(5)”,在保证数据没有受损的同时,减少其占用的体积。


一个简单的压缩案例

  上面的例子比较简单,实际上压缩软件的算法是复杂且多种多样的。不同的压缩软件会使用不同的字典,用来查找压缩冗余的数据,算法结合字典在很大程度上决定了压缩的效率。我们经常会看到不同的压缩文件格式,例如ZIP、RAR、7Z等,实际上这只是不同的压缩规范,就算是同样的格式,例如大家都是ZIP,其中的压缩算法可能也是不一样的,ZIP就可以使用Shrinking、Reducing、Deflate等算法。某个压缩文件压缩率高不高,不但要看其文件格式,更要看其具体使用的算法(例如ZIP和7Z都可以使用Deflate算法)。

  至于用哪个压缩软件最高效,实际上绝大多数的压缩软件,都没有自己的压缩算法,本质上只是马甲。主流的压缩文件格式大致有三种,分别是ZIP、RAR和7Z,它们分别来自Winzip、Winrar以及7-Zip,下面我们来说说这三种格式及其背后的压缩软件吧。

  ZIP:事实上的标准格式

  这是一个历史非常悠久的压缩格式,也是事实上的标准格式。你可以看到各大软件商发布软件时,提供的往往都是ZIP格式的压缩文件包,各大操作系统也对ZIP格式有着比较好的支持,例如Win系统中就可以直接访问ZIP文件中的内容。不过,这个最被广泛支持、被最多人认同的格式,其开发者的命运却有点悲情——ZIP格式的发明者Philip Katz英年早逝,37岁就因为酗酒去世了。


Winzip对推广ZIP格式有着巨大作用

  在DOS操作系统仍在盛行的时代,最流行的压缩格式是ARC。ARC效率慢且封闭,使用对应的压缩软件还要付费,Philip Katz对其不满,于是Philip Katz开发出了PKARC这款完全兼容ARC的软件。不料因为此事,Philip Katz被ARC告上法庭并败诉,不得不放弃PKARC的开发。

  Philip Katz并没有放弃压缩软件的钻研,他随后开发出了PKZIP这款软件,首创了ZIP格式。就算到了今天,你开启任何ZIP文件,仍可以在文件头中看到“PK”的字样,这就是Philip Katz名字的缩写。ZIP的表现全方面压制了ARC,速度更快压缩比更高,而且Philip Katz开放了ZIP格式,任何压缩软件都可以创建ZIP。很快,ZIP就成为了最流行的压缩标准。

  ZIP是一种开放的格式,Philip Katz的PKWare公司并没有为ZIP格式注册专利。ZIP格式被多家软件商所利用,Winzip这款软件也是在那时候崛起的。Nico Mak利用开放的ZIP格式开发了Winzip,兼容Win系统。借着Win崛起的东风,Winzip成为了最流行的压缩软件之一。再例如大家都很熟悉的Winrar,也使用了ZIP的算法,同时没有开放RAR算法给其他软件,这令Winrar一度成为最全能的压缩软件,一跃成为主流。

  Philip Katz的结局并不好,在2000年,他在一家汽车旅馆中去世,死时还握着酒瓶。


Philip Katz

  ZIP的开放令其成为了最流行的格式,也是事实上的标准格式,家家户户都支持它。不过它也存在一些缺点。例如,它的压缩率相比RAR和7Z偏低,对Unicode字符支持并不好,缺乏修复功能,加密安全性一度堪忧等,RAR和7Z都令ZIP感到巨大的竞争压力。

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品