cab是Microsoft私有的一种压缩格式,谈到压缩率,还要比zip高一些。但由于是私有的,用的人比较少,但Microsoft用得比较多。微软的软件安装CD里很多文件都是经过cab压缩的。winrar也是支持cab解压的,但不支持cab压缩。
其实也确实很少时候必须使用cab压缩,所以平时大家都不在意这个东西。但我今天在试图修改老毛桃版WinPE时,不得不使用了cab压缩格式。
老毛桃版的WinPE,是一个名叫WinPE.IS_的文件。我一看文件名,就猜出是原来的扩展名应该是ISO,然后被cab压缩过了,所以扩展名显示为IS_,这是微软的一贯风格。果然,用WinRAR强行打开,查看属性,为cab压缩格式1.3版,里面则是一个真正的WinPE.ISO文件。
作者:马健
邮箱:stronghorse#tom.com
最近更新:2006.11.25
声明:本文并非学术论文,所述内容仅为我个人的看法和体会,不具任何权威性,仅供有兴趣的人参考,但是如果您不具有足够的鉴别能力,建议勿看,以免误导。
一、目录表(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快。




2009/08/22

