网事如烟之压缩软件的起源和发展

作者: Admin 分类: 网事如烟 发布时间: 2013-12-09 22:56 ė 6 没有评论

  其实。压缩软件只是通常的说法,准确地说应该叫压缩及解压工具,或者叫压缩文档管理软件,大家都这么叫,我们也就权宜这么称呼它们吧。当然,说这类软件肯定要先说『压缩』。为了消除信息中的冗余,人们发明了压缩这个东东,压缩后的文档通常比原始文档小很多,能帮我们节省大量的空间,也能大大地加快文档传输速度。因此,压缩软件一直是人们非常喜爱的工具软件,今天微歌就简单说一说压缩软件吧。

  真正有实用价值的第一个压缩算法应该是 LZ,LZ 是其其发明者 A.Lempel 和 J.Ziv 两人姓氏的缩写。他们两人在 1977 年和 1978 年提出了后来被人称为 LZ77 和 LZ78 的压缩算法。1984 年,Terry Welch 在引基础上,推出了后来非常有名的 LZW 算法。LZW 算法实质上是 LZ78 算法的一个变种。可以说,LZ 是压缩算法的鼻祖,其后发展出来的各种压缩算法,基本上都是这三种编码算法的分支或变体。大家熟悉的 WinZip、WinRAR、gzip 等压缩工具可以说都是 LZ 系列算法的受益者,甚至连 PGP 这样的加密文件格式也选择了 LZ 算法作为其数据压缩的标准。

  由于 LZ 算法的优势,使用 LZ 系列算法的工具软件也就应运而生了,最早出现的是 UNIX 系统中使用 LZW 算法的 Compress。紧随其后的是 MS-DOS 环境下的 ARC。一时间,LZ78 和 LZW 几乎统治了 UNIX 和 DOS 两大平台。不过耐人寻味的是,随着时光流逝,目前主 流压缩工具反而几乎都采用 LZ77 变种算法。

  其实理由很简单,LZ77 没有专利限制,LZ78 有一定的专利限制,而使用 LZW 则需要 Unisys 公司的专利许可,说白了,就是使用 LZ78 有限制,使用 LZW 则需要付一笔不小的专利许可的费用。

  MS-DOS 平台的第一个压缩软件可能是 ARC,出现了 1985 年,那时已经有互联网了,但是很慢,使用的是电话线,接入标准是 14.4kbit/s,那时在网上传送文件是件非常痛苦的事情。1985 年,SEA 公司开发出了 MS-DOS 环境下第一个应用 LZW 算法的 ARC 压缩软件,说实话,ARC 确实不错,但由于使用了 LZW 算法,可惜是商业软件,使用时就必须付费。更麻烦的是,当年大家都比较穷,大多数人根本买不起,不仅国内是这样的,国外也是这样。这种局面,直至一个试图改变压缩世界的年轻程序员出现,这个人叫 Phillip W.Katz(菲利普·卡兹)。

  菲利普·卡兹同样也买不起ARC,于是他自己将 ARC 的用汇编语言进行了重写(ARC 是用 C 语言写的)弄了一个压缩工具,并将其命名这 PKARC,PKARC 和 ARC 完全兼容,而且速度比 ARC 快很多。自然,菲利普·卡兹的做法让 SEA 公司大为恼火,SEA 其实是个只有 3 个人的小公司,PKARC 的出现对他们来说可以说是毁灭性的打击,如是,他们主动联络菲利普·卡兹,希望通过授权的方式将 PKARC 纳入旗下,但被菲利普·卡兹一口拒绝,他不想让人PKARC 成为商业软件。迫于无奈,SEA 将菲利普·卡兹告上了法庭,当然,菲利普·卡兹输掉了官司。不过卡兹在败诉后依然拒绝将 PKARC 授权给 SEA 公司,而是选择了停止开发和分发 PKARC。

  输了官司的菲利普·卡兹决定重新开始,推出了没有任何版权问题的 PKPRC(其实,在官司还在进行的时候,卡兹就在开发 PKPRC,只是败诉后完全进行了重写)。由于,LZW 和 LZ78 都有专利问题,没有专利限制的只有 LZ77。也许是这种无奈激发了菲利普·卡兹的创造力,这家伙居然用几周时间创造出一个全新的压缩编码算法,也就是后来大名鼎鼎的 DEFLATE 算法。新压缩软件也出来了,命名为 PKZIP,新压缩文件的扩展名叫作『.zip』。PKZIP 可以将多个文件或文件夹压缩到一个文件中,而且,无论压缩比、压缩速度都全面超过了商业软件 ARC。和过去一样,菲利普·卡兹将 PKZIP 作为自由软件免费发放,这也使得 PKZIP 用户呈几何级数增长,而前面说到的 SEA 公司半年内就无声无息地消失了。这也使得菲利普·卡兹成了许多年轻程序员的偶像。

  其实,菲利普·卡兹让后人尊重的还是宣布开放 ZIP 格式,任何人都可以自由使用 ZIP 编码算法而不需要缴纳任何专利费用。这个决定可以说是改变了压缩世界。

  当年,和 PKZIP 能一较高下的还有两个,一个是 1988 年诞生的 LHA,由 Haruyasu Yoshizaki 开发,也是免费软件。另一个是 1990 年由 Robert K.Jung 开发的 ARJ(Archiver Robert Jung)。这是一个模仿 PKZIP 之作。

  说实话,如果世界停留在 DOS 时代,也许压缩工具就是 PKZIP、LHA 和 ARJ 三足鼎立了,可是……。

  1995 年,微软的 Win95 诞生了,应用软件也开始了重新洗牌。但 PKZIP、LHA 和 ARJ 并没有抓住机遇,这也就使得多年默默无闻的 Winzip 有了机会,其实,早在 1991 年微软发布 Win 3.0 不久,WinZip 1.0 就诞生了。但 WinZip 1.0 只是一个外壳程序,还是在调用 DOS 下的压缩工具。所以,在 Win 95 出来前,WinZip 这个软件基本上没有什么用户,但 Win95 发布后,其他压缩软件反应迟钝,WinZip 开始大受欢迎,于是短时间就占领了大部分用户的电脑,成为人们必备的工具软件之一。尽管后来许多压缩工具都推出了 Windows 版,但为时已晚,WinZip 已经被人们接受并喜爱,很难再被小二、小三们取代了。

  然而,世事难料,WinRar 的出现动摇了 WinZip 的地位,这也许源于两个原因,一是 WinZip 开始收费,二是 WinZip 太过高高在上。

  RAR 是由尤金·罗谢尔(Eugene Roshal),RAR 的全名是:Roshal ARchive。首个公开版本 RAR 1.3 发布于 1993 年。尤金·罗谢尔 1972 年 3 月 10 日生于俄罗斯。毕业于俄罗斯车里雅宾斯克工业大学,也是 FAR 文件管理器的作者。他开发 RAR,最初用于 DOS,后来移植到其它平台。如 Windows 版本称为 WinRAR,以共享软件的形式发行。不过 Roshal 公开了解码器源码,但 RAR 编码器是有专利的。

  其实,WinZip 的失败可能主要源于不支持 RAR 格式(新版支持,估计是支付专利费了),不过也不能怪 WinZip,那时国内许多 IT 媒体也说 RAR 是非主流压缩格式,虽然国内外绝大多数的资源都是以 ZIP 格式提供的(理由很简单,ZIP 免费),但当时国内外那些提供注册机之类的都是以 RAR 格式提供,这使得很多用户虽然安装了 WibZip,还不得不再装一个 WinRar,一装可不得了啦,居然发现尺寸不小的 WibZip 能做的事,这个小工具居然都能做到,甚至更强,于是乎,大家都不约而同地做了这样的选择,那就是干脆卸载 WinZip,只留下 WinRar。

  更可气的是,WinZip 仍然没有感到事态的严重性,仍然不支持 RAR 格式(那时国内媒体早改口叫 RAR 为主流压缩格式了),也长时间没有推出新版,尽管后来(好像是两年后)还是出了新版,目前的版本也支持 RAR 格式了,但一切为时已晚!

  目前,WinZip 和 WinRar 都收费了,但 WinRar 不知道是什么原因,目前注册码遍地都是,但好像他们并没有干预……。

  既然,WinZip 和 WinRar 都收费了,自然也给新的压缩工具留下了机会,如目前非常火的免费压缩软件就有 7-ZIP 等。

本文出自微歌,转载时请注明出处及相应链接。

本文永久链接: http://wego2.com/wang-shi-ru-yan-zhi-ya-suo-ruan-jian-de-qi-yuan-he-fa-zhan.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Ɣ回顶部