压缩文件用.zip好还是.rar好?

作者&投稿:苦翰 (若有异议请与网页底部的电邮联系)
近5年国际zip相关仪器排名,助力设备更新!~ 楼上的见解比较狭隘。我来全面的解释一下。

一、目录表(TOC)与分卷(Volume)

抛开压缩算法不谈,我认为zip、rar在文件格式上最大的差异就在目录表(Table of Contents,TOC):zip有TOC,而rar没有。

TOC这个词其实是从出版界借用过来的,指的就是每一本书正文前面的“目录”,它的作用地球人都知道:如果想快速找到书中某一内容,可以先查TOC,然后按照TOC指明的页码直接翻即可。

在纸质书里TOC是印刷出来的一张表,而在电子文件里则是由结构化数据构成的一张表,它的目的同样是为了快速定位:如果想找文件中的某一内容,可以先查TOC,知道感兴趣的内容在文件的什么位置,直接跳过去就行了。最常见的运用就是avi、rm等多媒体文件:播放的时候经常有人在播放条上点来点去跳着看(即“随机访问”),如果没有TOC,在长达几百兆的文件里来回定位会慢死。

具体到zip文件里,TOC是放在文件尾部的一张表,里面列出了zip包中每一个文件的属性(文件名、长度等)和在zip包中的存放位置。如果需要随机访问zip包中的某一个文件,只需在TOC里找到这个文件的存放位置,直接跳过去即可。

而RAR文件里则没有TOC,在文件头之后所有文件按顺序连续存放。

这种差异造成的结果就是:随机访问时zip比rar快,而顺序访问时rar比zip快。

所谓随机访问,就是前面说过的随机访问压缩包中某个指定的文件。举一个简单的例子:一本反编译或下载到的网页电子书,有大量HTML、图像、css、js,然后打成压缩包。现在要求在不解包的情况下访问其中的页面:可以想象,打开每个HTML页面的时候,它所附带的图像、css、js等文件可能随机分布在整个压缩包里,如果没有TOC,查找每个文件的时候都要从头开始找,将会有多慢。 所以各位可以理解为什么jar包就是标准zip包,而我也只用zip格式保存反编译出来的电子书、漫画、PDG书等一切可能需要随机访问的东西。

所谓顺序访问,就是将整个压缩包从头解到尾。在这方面RAR具有天然的优势。而且为了节省WinRAR列文件的时间,对于单个RAR我一般都直接通过右键菜单解压缩,很少双击压缩包打开再解压。

由于rar的原作者已经去世,造成这种差异的确切原因我相信已不可考,但我个人猜测可能与DOS时代的备份软件之争有关:在DOS时代,电脑硬盘不像现在这样奢侈,20MB就算很大了。这样的容量用两盒软盘 即可备份,备份成本相对数据本身的价值来说非常低廉。因此在DOS时代,很多公司和机构都制定有定期硬盘备份政策,以免因为人为或非人为的因素 (早期硬盘可没有如今可靠)而造成不可挽回的数据损失。在备份软件方面,虽然微软已经随DOS提供了BackupRestore工具,但是他们基本不具备数据压缩能力,因此在压缩软件中提供备份功能,就成为DOS时代的一个时尚。由于DOS时代的备份介质多为软盘,因此压缩 软件的备份功能其实就转化成如今很常见的一个功能:分卷压缩功能,即按照软盘容量进行分卷压缩,然后将分卷压缩文件备份(Backup)到软盘,需要的时候再解压,或恢复(Restore)到硬盘。

DOS时代最有名的zip工具是pkzip,出现得比DOS版的RAR早。在分卷压缩时,pkzip按照zip文件规范,将TOC存放在最后,即存储在最后一卷,由此带来如下问题:

1、恢复时,每解压一张盘,都要先将最后一张盘插进去一次,读一次TOC。
2、只要最后一张盘上的TOC坏了,就算其它盘都是好的,也不能正常解压。

这两个缺点,尤其是第一个缺点实在是太臭名昭著了,因此当时出现了非常强烈的改革呼声。在这个关键时刻,DOS版的RAR出现了:不仅压缩率比pkzip高(这点在DOS时代非常重要,毕竟软盘又贵容量又小),而且由于吸取了当时对zip格式的批评,取消了TOC,因此:

1、在恢复分卷压缩的备份文件时,不需要频繁插入带有TOC的分卷,按顺序换盘即可。
2、即使某个分卷损坏,也可以跳过,从完好的分卷再开始解压。

由于这些原因(当然还有其它原因),RAR推出后迅速取得了成功,pkzip在DOS时代就开始流失用户,到Windows时代基本消声匿迹。在Windows时代推出的Winzip,则彻底放弃了分卷压缩功能(zip格式永远的痛?)。 而从我看到的源自WinRAR的UnRAR源代码来看,现在WinRAR的解压思路明显还是把文件按顺序从头解到尾,看来当年备份恢复工具之争的影响,还真是深远。

二、固实(solid)压缩方式

在压缩算法方面,我觉得rar格式最特色的是固实(solid)压缩方式。WinRAR v3.42的帮助文件中对固实压缩的说明如下:

固实压缩文件是 RAR 的一种特殊压缩方式存储的压缩文件,它把压缩文件中的全部文件都当成一个连续数据流来看待。

这段说明其实揭示了固实压缩格式能够提高压缩比的奥秘:数据压缩的基础是“重复”,例如aaaabbb这个字符串,里面就有重复,如果表示为a4b3,看起来是不是变短了?这就是“数据压缩”。“重复”是一个具有相对意义的概念,在某一范围内看起来没有重复,或重复不多的数据,把范围扩大,说不定就能找到更多重复的数据了,这就是固实压缩的奥秘。

举一个简单的例子:用zip和普通rar压缩一堆jpg文件,很难压下去,但是用固实压缩方式的rar就可以,其原因就在于:jpg文件本身已经是压缩格式了,单个jpg文件里很难再 找到可利用的重复数据,因此不论是用zip还是普通的rar都很难再压缩,因为他们都将需要压缩的文件分隔开来一个一个处理。但是对于固实rar来说,是将 所有需要压缩的jpg文件当作一个整体来压缩,这些jpg之间就存在重复的数据,如他们都有相同的文件头(其中包括各种数据表)等,这就出现了可压缩的空间。从我看到的资料来看,Flash文件也采用了类似的技术对jpg进行压缩:如果在Flash文件中使用了多个jpg文件,它们可以共用一个文件头。

当然天下不会有白吃的午餐,固实压缩方式在提高压缩比的同时,也有一些限制,在WinRAR v3.42帮助文件中的说法是:

固实压缩可增加压缩性能,特别是在添加大量的小文件的时候,但它也有一些重要的不利因素

对已存在的固实压缩文件更新时较慢;
要从固实的压缩文件解压单个文件时,它之前的文件都需先经过分析。这造成当从固实的压缩文件内取出文件时会比一般压缩文件取出文件慢一些。但是,当从固实的压缩文件解压全部的文件时,解压速度并没有影响。
如果在固实压缩文件中的任何文件损坏了,要从损坏的范围中解压全部的文件是不可能的。因此,如果固实压缩文件是保存在例如软盘等媒介时,推荐你在制作时使用“恢复记录”。
固实压缩的适用场合为

压缩文件很少更新的时候;
不需要经常从压缩文件中解压一个文件或是部分文件的时候;
压缩效率比压缩速度更为重要的时候。
与前面说的“随机访问”对应,固实压缩的RAR文件可能是世界上最不适合随机访问的:如果需要访问固实RAR包中的某个文件,就要从文件头开始解压,一直解到这个文件。

三、安全性

这里的安全性包含几个方面的含义:文件系统安全性、密码保护安全性和文件数据安全性。

由于制订zip格式规范的时候操作系统本身的文件安全性还没有引起足够的重视,因此zip格式只记录最基本的文件属性,包括只读属性等,没有其它附加的安全属性。

rar格式刚推出的时候,文件系统的安全性只能参照DOS,和zip差不多。但是rar毕竟是一种封闭的格式,想怎么改作者一个人说了就算,因此当Windows中出现NTFS,并且引入扩展的文件系统安全属性时,rar也积极跟进,所以现在应该说rar格式在这方面比zip强 。

在zip和rar格式中均提供了密码保护功能,但是密码保护的安全强度不同。

zip由于格式开放、代码开源,因此zip密码破解软件出现得比较早,也比较多。初期以暴力破解为主,威胁不大,真正对zip密码安全的致命一击是known plain text(已知明文)攻击法:如果知道加密zip文件中某段内容(密文,ciphertext)解密后的真正内容(明文,plain text),就可以反推出zip加密口令。在这种攻击方法的威胁,及某些国家的法律对密码技术的限制下, 著名开源组织zlib宣布永久放弃对加密zip的支持,详见zlib网站上的相关说明(不过在zlib发行的源代码里仔细找找,还是能找到原来的加解密相关代码)。

记得rar刚推出的时候也和zip一样,虽然不能列出加密文件中的文件内容,但可以列出加密文件中的文件名。后来大概也是被known plain text攻击法吓到了,增加了一个“加密文件名”选项,干脆连加密rar文件里有哪些文件都看不见,让攻击者想猜明文都无从猜起。

rar格式比zip晚推出,在安全方面吸取了足够的教训,因此采用的是美国国家标准与技术局(National Institute of Standard and Technology, NIST)推荐的、目前公认安全程度比较高的AES对称加密算法 ,密钥长度128位。在ASE被攻破以前(NIST认为30年内无法攻破),大家都只能在暴力法上兜圈子,所以密码安全性应该说比zip高。对此WinRAR 3.42的帮助文件是这样描述的:

ZIP 格式使用私有加密算法。 RAR 压缩文件使用更强大的 AES-128 标准加密。如果你需要加密重要的信息,选择 RAR 压缩文件格式会比较好一些。为了确实的安全性,密码长度请最少要 8 个字符。不要使用任何语言的单词作为密码,最好是任意的随机组合字符和数字,并且要注意密码的大小写。请记住,如果你遗失你的密码,你将无法取出加密的文件,就算是 WinRAR 的作者本身也无法解压加密过的文件。

在数据安全性方面,RAR格式本身支持一种特殊的附加信息类型,叫做“恢复记录”。如果RAR文件有恢复记录,在介质物理损坏或其它原因造成数据丢失时,WinRAR可以按照“恢复记录”尝试对数据进行修复。而zip格式无恢复记录,因此在数据安全性方面应该说比RAR弱。

虽然RAR文件本身支持恢复记录,但是在WinRAR里此选项缺省是关闭的,而打开后会导致压缩出来的RAR文件体积增加(增加的百分比与设置有关),可能会令某些人感到不习惯(我就亲眼见到有人在论坛上抱怨为什么压出来的RAR文件会如此庞大),所以这个功能基本上形同虚设。

四、开放性

开放性的对比很明显:zip格式不仅文件格式完全公开,而且有专门的开源组织提供操作源代码,跨平台使用也没有多大限制;rar格式完全保密,作者只提供解压所需源代码,不提供压缩所需源代码 ,跨平台使用有点麻烦。

zip开源组织中,最出名的是zlib和InfoZip,二者各有侧重:zlib偏重对内存缓冲区的压缩,因此被png等开源组织用做内部压缩算法,连java的jar程序内核都来自zlib,打出来的jar包自然也是一个标准的zip文件;InfoZip偏重对文件的操作 (包括口令保护),应用似乎不如zlib广泛,但我个人觉得其实它还是满好用的,前提是需要对它的源代码进行一些必要的修改。

在png组织的网页中有说到png格式的来历,我觉得也很有意思:做png的一班人,其实原来都是做gif格式的,但是由于Unisys公司开始对gif格式的核心——LZW压缩算法征收专利费,这帮人怒了,干脆提出png格式:大结构方面还是采用分段结构,但是核心压缩算法采用开源的zlib,压缩 效果在多数情况下比gif的LZW更强。由于没有版权限制,在静态图形领域png得到广泛应用,如果不是及时提出动画支持并因此在web上大行其道,我估计gif早就死掉了。

RAR的解压源代码在其官方网站www.rarlab.com上提供,通常比WinRAR的正式版本晚一点,不过据说是直接从WinRAR的源代码中抠出来的,所以兼容性应该没有什么问题。

五、结论

以下观点纯属个人观点,仅供参考,不具有如何指导意义:

如果经常需要对压缩包进行随机访问,应该选zip而不是rar。虽然将下载到的rar重新压缩成zip会麻烦一次,但是以后会减少无数的麻烦。
如果需要分卷压缩(如某些网站对上传文件大小有限制),则只能用rar。事实上,这也是我唯一会使用rar格式的场合,其它时候一律zip没商量。

推荐你用rar,因为1他现在在win系统的电脑上已经是集成到了一起,2他可以解zip文件3用zip不能解rar文件4用zip不是每台电脑上都预装的都有,有时要去下载。在电脑不能上网时很麻烦。5现在rar提供了不同的压缩方式可心选择(如标准、最快、较好、最好等)
一般rar压缩文件小,


压缩文件rar和zip哪个好
2. 解压速度快:ZIP格式解压速度通常较快,这对于需要快速访问压缩文件的情况非常有利。三、两者比较与选择:在实际使用中,RAR和ZIP都是常见的压缩文件格式。如果需要更高的压缩效果和更好的兼容性,特别是在处理大文件或复杂数据时,RAR可能是一个更好的选择。而如果需要快速解压或免费解决方案,ZIP可...

压缩文件格式zip和rar有什么区别?
1、压缩算法不同 rar格式能够提供更好的压缩率,zip是一种开放性的压缩文件,算法不局限于一种,zip的优势是压缩速度快。2、功能不同 rar不支持恢复记录,zip支持物理受损数据的恢复,还可以锁定重要压缩文件。3、大小不同 rar可以管理的文件大小几乎是无限制的,zip处理单个文件的最大值为4GB。

压缩文件后缀有哪几种??
1. .zip:最常用的压缩文件格式,几乎所有的操作系统都支持它。它用 ZIP 格式进行压缩,支持多文件压缩成单一的压缩包。由于其兼容性好,所以广泛使用。2. .rar:另一种常用的压缩文件格式,它用 RAR 格式进行压缩。RAR 格式的压缩比非常高,并且可以更好地处理媒体文件和音频文件。此外,RAR 还支...

ZIP和RAR哪个压缩率更高?
总的来说,如果广泛的兼容性对你更重要,那么ZIP可能是更好的选择。如果你希望尝试获取更高的压缩率或者需要RAR的特有功能,可以选择RAR格式。在实际使用中,通常ZIP足以满足一般需求。无论选择哪个格式,确保你的接收方有相应的解压软件,以确保文件能够被正确解压。

哪种压缩格式好?例如ZIP、TAR、TAR.GZ等等
zip兼容性最好。国外的朋友几乎不用rar。rar独有格式也很好,带恢复,分卷稳定。速度和压缩比都尚可。7z是比较常见的高压缩率速度也平衡的格式。tar.gz在linux系统下用得多,但是在windows下普及率不高。不同软件压缩、解压的速度也会因为优化而不同,综合来说7z是最常用最好用的格式。但是,任何一种...

压缩文件一般是什么格式
常见的压缩文件格式包括ZIP、RAR、7z等,其中,ZIP格式是最常用的一种压缩格式,它可以被大部分操作系统和软件识别和解压,而RAR格式则常用于压缩大文件,具有更好的压缩效率和加密功能,7z格式则是一种新型的高压缩率格式,可以将文件压缩至更小的体积。如果需要压缩文件,可以使用专业的文件压缩软件进行...

压缩文件格式(zip、rar)哪个更好?
rar文件格式更好,rar 的压缩率显著高于 zip,与 7z 相当。rar 的文件名使用 Unicode 存储. 而 zip 由于历史原因, 文件名不支持 Unicode 编码 (新版的 zip 规范允许指定 Unicode 编码, 但大部分应用程序支持不理想), 存在乱码问题,。例如日文 Windows 下创建的 zip 压缩包, 如果在简体中文 Windows...

7Z和ZIP压缩文件那个好?
7Z和ZIP压缩文件相比较而言,ZIP压缩文件较好。ZIP压缩文件的相关优势如下:1、ZIP压缩文件的压缩率较高:ZIP压缩文件属于几种主流的压缩格式之一,其竞争者包括RAR格式以及开放源码的7z格式。从性能上比较,ZIP格式压缩率较高。2、ZIP压缩文件的应用更为广泛:ZIP压缩文件由于提供了免费的压缩工具而逐...

压缩文件,RAR和ZIP有区别吗?
压缩文件中RAR格式压缩的质量比较好,但是文件也比较大,ZIP压缩的文件最小。1、鼠标右键点击一个要压缩的文件。2、点击右键后,选择添加到压缩文件。3、进入压缩文件名和参数页面,在常规页面,压缩文件默认是RAR格式,然后大小为32MB。4、同一个文件,选择ZIP格式,但是文件大小只有32KB。

压缩文件后缀zip和rar有什么区别
1、压缩算法不同 rar格式能够提供更好的压缩率,zip是一种开放性的压缩文件,算法不局限于一种,zip的优势是压缩速度快。2、功能不同 rar不支持恢复记录,zip支持物理受损数据的恢复,还可以锁定重要压缩文件。3、大小不同 rar可以管理的文件大小几乎是无限制的,zip处理单个文件的最大值为4GB。

兴城市18990191408: 压缩文件的RAR跟ZIP有什么区别.哪个好? -
当涂彬永新: 比如说,大部分在 Internet 的压缩文件都是 ZIP 压缩文件,所以如果你要传送压缩文件给某一个人,但你无法确定你的收件人是否有 WinRAR 来解压压缩文件的内容时,使用 ZIP 格式是个好推荐.要不然你也可以发送自解压文件.此类的压缩文...

兴城市18990191408: rar和zip哪个压缩好一点 求解答 -
当涂彬永新: 都是压缩文件rar文件是用winrar压缩的zip文件是用winzip压缩的winrar能打开winzip压缩的文件而winzip不能打开winrar压缩的文件. 一般来说RAR比ZIP压缩比率更高,也就是说压得更校

兴城市18990191408: 压缩文件格式(zip、rar)哪个更好?
当涂彬永新: 这并没有好坏之分. winrar的优点是兼容的压缩格式多,winrar可以支持zip格式,而winzip却不能支持rar格式. 对于压缩格式来说,很多时候rar的压缩率都会比zip高那么一点点. 建议使用rar

兴城市18990191408: 用RAR格式压缩文件节省空间比较多还是ZIP格式? -
当涂彬永新: 一般来说RAR比ZIP压缩率高,当然在压缩时选择压缩方式为极限或最高,则压缩后文件最小. 但7z比RAR更小,而且7Zip软件免费、开源.

兴城市18990191408: 压缩文件类型RAR,ZIP各有什么特点?那个更好? -
当涂彬永新: 区别一、zip的安装比较大,并仅仅有英文版+汉化包 rar有官方的简体中文版,并且安装很小,不足一兆 区别二、winrar的压缩率较高,而zip的压缩率更低 区别三、zip支持的格式很多,但已经较老,不大流行 rar支持格式也很多,并且还是流行的 区别四、zip仅仅能够压缩成zip格式,不能解压rar格式;rar不仅有自己的格式,还可以压缩成zip格式并解压zip格式 区别五、zip的界面没有rar漂亮 区别六、winrar支持分卷压缩,zip不支持 区别七、国外很多都采用zip,因为它是免费的,rar不是免费的,在国内很流行是由于有盗版的存在;zip不能兼容rar,是因为这样必须付出一笔费用; 建议请采用rar,绝对没有错

兴城市18990191408: 同一文件用RAR和ZIP压缩文件哪个好?
当涂彬永新: RAR比较好,稳定,节省空间,数据不易丢失

兴城市18990191408: 压缩文件用那种格式好 rar 好还是zip好. 问的是格式不是软件 -
当涂彬永新: 看你的需求.rar压缩率比zip高,支持分卷压缩. rar也可以设置恢复记录. 一般大型正规的软件站都是zip格式. Windows系统默认可以打开zip格式.感兴趣的话去搜索这两篇帖子看下: 压缩大战真相 压缩大作战!流行压缩软件详细评测

兴城市18990191408: 压缩文件是RAR压得小还是ZIP压得小? -
当涂彬永新: ZIP

兴城市18990191408: 后缀为zip和rar的压缩文件有什么区别?那一种更好? -
当涂彬永新: 但是现在不行了,现在rar比他好的多.不仅压缩率比zip高.支持的压缩格式也比win zip多,而且winrar是中文的,还有破解(虽然win zip也有破解,不过不好找,而win rar的破解注册比较好找) 所以现在的国内主流压缩格式是rar而不是zip了,但国外的标准仍然是zip(毕竟开创了一代辉煌阿,zip可是压缩行业的标准) RAR可以解压ZIP压缩过的文件.

兴城市18990191408: 文件压缩rar格式和zip格式有什么区别?(哪个好用些?)
当涂彬永新: 第一个区别:WinZip 只有英文版+汉化包的,而且安装程序体积较大 WinRAR 则有官方的简体中文版,安装程序体积较小(还不到 1MB) 第二个区别:WinZip 支持的压缩包格式虽然很多,但都已经过时了,而且也没有新的特性 WinRAR 支持的压缩包格式也不少,但都是现在最流行的,支持的格式也在增加 第三个区别:WinZip 压缩文件只能压缩成 ZIP 格式,而且压缩率较低,速度较慢 WinRAR 却兼容 Zip 格式,而且有其他的扩展压缩方法,提高了压缩率

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网