Remove ads
資料壓縮與文件儲存的檔案格式 来自维基百科,自由的百科全书
ZIP文件格式是一种数据压缩和文档储存的文件格式,原名Deflate,发明者为菲尔·卡茨(Phil Katz),他于1989年1月公布了该格式的资料。ZIP通常使用后缀名“.zip”,它的MIME格式为application/zip。目前,ZIP格式属于几种主流的压缩格式之一,其竞争者包括RAR格式以及开放原始码的7z格式。从性能上比较,RAR及7z格式较ZIP格式压缩率较高,而7-Zip由于提供了开源的压缩工具而逐渐在更多的领域得到应用。Microsoft从Windows ME操作系统开始内建对zip格式的支持,即使用户的电脑上没有安装解压缩软件,也能打开和制作zip格式的压缩文件,OS X和流行的Linux操作系统也对zip格式提供了类似的支持。因此如果在网络上传播和分发文件,zip格式往往是最常用的选择。
1985年一家名为SEA(System Enhancement Associates,系统增强伙伴)的小公司开发了一个在MS-DOS平台下的商业压缩软件,名为ARC。当时的软件发行方式与现在略有不同,用户购买了软件,除了能得到软件的可执行文件,还能得到一份C语言的原始码。当时的卡茨与很多用电脑的普通人一样,缺乏资金购买昂贵的商业软件。当时卡茨从网上下载了一份ARC的C语言原始码,并用汇编语言将其重新编写并编译了出来。这个软件名为:PKARC(Phillip Katz' ARC)。PKARC因为是卡茨参照原始码编写的,所以完全兼容ARC,并且性能上比ARC高。卡茨当时将这个新软件上传到了网络上。显然,卡茨此举造成对SEA公司的侵权。SEA最初希望通过联络卡茨,使PKARC成为SEA公司旗下的一款产品,但是被卡茨拒绝了。最终,双方对簿公堂,结果是卡茨败诉,他被判对SEA公司赔款以及停止发放PKARC。后来,卡茨在对PKARC续作的开发中,被迫重新改写所有代码。PKARC即为下文提及的PKZIP的前身,但卡茨没有从PKARC赚到一分钱,还是穷困潦倒,又因为酗酒等众多原因,2000年死在一个汽车旅馆中。
这场官司过后几周,卡茨就制作出了新的压缩软件PKZIP(Phillip Katz' ZIP)。这款全新的软件比ARC的压缩率、压缩性能都要高许多,并且包含更多功能。此后,卡茨还将ZIP的所有技术参数公诸于众。ZIP(意为“速度”)这一名称是由卡茨的朋友罗伯特·马宏利(Robert Mahoney)建议的。他们想暗示,他们的产品比ARC在一定时间内更快速。这个名字往往被写成大写字母,因为在DOS系统内,通常都是使用大写字母作为后缀名的。(这是由于MS-DOS运行在FAT文件系统上。)
Windows 3.0面世之前,有两种格式与ZIP同样流行,一个是LHA(LHArc),另一个是ARJ(Archiver Robert Jung),直至1995年,这3种压缩格式都是PC应用的主流。1995年,微软发布了Windows95,当时从DOS转移到Windows的用户们,极度渴求在图形界面下的优良软件。Winzip以其优良的性能以及不太晦涩的图形用户界面吸引了用户的目光,在当时获得了大量的市场占有量。其实,当时的WinZip仅仅是一个调用DOS资源的GUI外壳,但是其从Windows 3就开始的制作经验使其GUI性能和外观都比当时的流行软件要好。很快地,WinZip就成为了当时一个很流行的软件,这同时也带动了ZIP的传播。由于在前期太受欢迎,使得到后期很多用户都以为,是WinZip创造了ZIP,其实这是一个误解,关于WinZip更详细的资讯,参见WinZip。
因格式开放且免费,越来越多的软件内嵌支持开启Zip文件。这时,Zip文件越来越像一个经过压缩的透明文件夹。
基本上,Zip文件的发展都是由PKware公司与Winzip所推动。然而,两家公司就某些问题上互相猜疑,导致发展缓慢。人们目前最想在Zip文件实现的目标,就是加强目前Zip文件的加密能力。就目前而言,Zip的文件加密能力弱得可怜,仅凭单单一个口令保护,根本满足不了安全需求。虽然卡茨在世时公开了格式,留有为日后升级的空间,但Winzip仅仅是一个用户,根本无法发布新标准,其标准的制订权依然保留在PKware手中。2002年时,PKware开发了支持256位AES加密的PKZIP 5.0,但是Winzip在2003年发布的Winzip 9却被证明了无法与之兼容。双方都互相指责对方违背了Zip的自由开放精神。这是Zip自诞生日起最严峻的挑战。
使用文本编辑器打开任何一个Zip文件,都能看到文件的前两个字母为:PK。
ZIP是一种相当简单的分别压缩每个文件的存档格式,分别压缩文件允许不必读取另外的数据而检索独立的文件。理论上,这种格式甚至允许对不同的文件使用不同的算法。不管用何种方法,存档中包含很多小文件的时候,占用空间会明显的比压缩成一个独立的文件(在类Unix系统中一个经典的例子是:普通的tar.gz存档是由一个使用gzip压缩的TAR存档组成)要大。
ZIP的规约指出文件可以不经压缩或者使用不同的压缩算法来存储。然而实际上ZIP几乎总是在使用卡茨(Katz)的DEFLATE算法。
ZIP支持基于对称加密系统的一个简单的密码,现在已知有严重的缺陷,存在已知明文攻击、字典攻击和暴力攻击。ZIP也支持分卷压缩。
近来,ZIP加入了新的压缩和加密算法,不过这些新算法并没有被许多工具所支持并且没有得到广泛应用。
用来对比压缩大小的是[1]的内容和最大压缩比。
由于出现于市场的时间早,现在Zip文件与其他压缩格式相比有众多无法忽视的缺点。
原生并不支持Unicode文件名称,容易导致一部分资源共享困难,在东亚文化圈的资源交流尤其显著;无法与7z相比的压缩比率以及如WinRAR的Recovery Record修复支持功能的缺乏亦都是其衰微的原因。
针对上述缺点,前WinZip团队有开发后继者ZIPX格式,但仍不普及。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.