青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Where there is a dream ,there is hope

  C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
  64 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks

常用鏈接

留言簿(1)

我參與的團(tuán)隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

原文地址:http://www.comicer.com/stronghorse/water/software/ZipRar.htm



一、目錄表(TOC)與分卷(Volume)

拋開壓縮算法不談,我認(rèn)為zip、rar在文件格式上最大的差異就在目錄表(Table of Contents,TOC):zip有TOC,而rar沒有。

TOC這個詞其實是從出版界借用過來的,指的就是每一本書正文前面的“目錄”,它的作用地球人都知道:如果想快速找到書中某一內(nèi)容,可以先查TOC,然后按照TOC指明的頁碼直接翻即可。

在紙質(zhì)書里TOC是印刷出來的一張表,而在電子文件里則是由結(jié)構(gòu)化數(shù)據(jù)構(gòu)成的一張表,它的目的同樣是為了快速定位:如果想找文件中的某一內(nèi)容,可以先查TOC,知道感興趣的內(nèi)容在文件的什么位置,直接跳過去就行了。最常見的運用就是avi、rm等多媒體文件:播放的時候經(jīng)常有人在播放條上點來點去跳著看(即“隨機(jī)訪問”),如果沒有TOC,在長達(dá)幾百兆的文件里來回定位會慢死。

具體到zip文件里,TOC是放在文件尾部的一張表,里面列出了zip包中每一個文件的屬性(文件名、長度等)和在zip包中的存放位置。如果需要隨機(jī)訪問zip包中的某一個文件,只需在TOC里找到這個文件的存放位置,直接跳過去即可。

而RAR文件里則沒有TOC,在文件頭之后所有文件按順序連續(xù)存放。

這種差異造成的結(jié)果就是:隨機(jī)訪問時zip比rar快,而順序訪問時rar比zip快。

所謂隨機(jī)訪問,就是前面說過的隨機(jī)訪問壓縮包中某個指定的文件。舉一個簡單的例子:一本反編譯或下載到的網(wǎng)頁電子書,有大量HTML、圖像、css、js,然后打成壓縮包。現(xiàn)在要求在不解包的情況下訪問其中的頁面:可以想象,打開每個HTML頁面的時候,它所附帶的圖像、css、js等文件可能隨機(jī)分布在整個壓縮包里,如果沒有TOC,查找每個文件的時候都要從頭開始找,將會有多慢。 所以各位可以理解為什么jar包就是標(biāo)準(zhǔn)zip包,而我也只用zip格式保存反編譯出來的電子書、漫畫、PDG書等一切可能需要隨機(jī)訪問的東西。

所謂順序訪問,就是將整個壓縮包從頭解到尾。在這方面RAR具有天然的優(yōu)勢。而且為了節(jié)省WinRAR列文件的時間,對于單個RAR我一般都直接通過右鍵菜單解壓縮,很少雙擊壓縮包打開再解壓。解多個RAR時當(dāng)然都用BatchUnRar。

由于rar的原作者已經(jīng)去世,造成這種差異的確切原因我相信已不可考,但我個人猜測可能與DOS時代的備份軟件之爭有關(guān):在DOS時代,電腦硬盤不像現(xiàn)在這樣奢侈,20MB就算很大了。這樣的容量用兩盒軟盤 即可備份,備份成本相對數(shù)據(jù)本身的價值來說非常低廉。因此在DOS時代,很多公司和機(jī)構(gòu)都制定有定期硬盤備份政策,以免因為人為或非人為的因素 (早期硬盤可沒有如今可靠)而造成不可挽回的數(shù)據(jù)損失。在備份軟件方面,雖然微軟已經(jīng)隨DOS提供了Backup/Restore工具,但是他們基本不具備數(shù)據(jù)壓縮能力,因此在壓縮軟件中提供備份功能,就成為DOS時代的一個時尚。由于DOS時代的備份介質(zhì)多為軟盤,因此壓縮 軟件的備份功能其實就轉(zhuǎn)化成如今很常見的一個功能:分卷壓縮功能,即按照軟盤容量進(jìn)行分卷壓縮,然后將分卷壓縮文件備份(Backup)到軟盤,需要的時候再解壓,或恢復(fù)(Restore)到硬盤。

DOS時代最有名的zip工具是pkzip,出現(xiàn)得比DOS版的RAR早。在分卷壓縮時,pkzip按照zip文件規(guī)范,將TOC存放在最后,即存儲在最后一卷,由此帶來如下問題:

1、恢復(fù)時,每解壓一張盤,都要先將最后一張盤插進(jìn)去一次,讀一次TOC。
2、只要最后一張盤上的TOC壞了,就算其它盤都是好的,也不能正常解壓。

這兩個缺點,尤其是第一個缺點實在是太臭名昭著了,因此當(dāng)時出現(xiàn)了非常強烈的改革呼聲。在這個關(guān)鍵時刻,DOS版的RAR出現(xiàn)了:不僅壓縮率比pkzip高(這點在DOS時代非常重要,畢竟軟盤又貴容量又小),而且由于吸取了當(dāng)時對zip格式的批評,取消了TOC,因此:

1、在恢復(fù)分卷壓縮的備份文件時,不需要頻繁插入帶有TOC的分卷,按順序換盤即可。
2、即使某個分卷損壞,也可以跳過,從完好的分卷再開始解壓。

由于這些原因(當(dāng)然還有其它原因),RAR推出后迅速取得了成功,pkzip在DOS時代就開始流失用戶,到Windows時代基本消聲匿跡。在Windows時代推出的Winzip,則徹底放棄了分卷壓縮功能(zip格式永遠(yuǎn)的痛?)。 而從我看到的源自WinRAR的UnRAR源代碼來看,現(xiàn)在WinRAR的解壓思路明顯還是把文件按順序從頭解到尾,看來當(dāng)年備份/恢復(fù)工具之爭的影響,還真是深遠(yuǎn)。

二、固實(solid)壓縮方式

在壓縮算法方面,我覺得rar格式最特色的是固實(solid)壓縮方式。WinRAR v3.42的幫助文件中對固實壓縮的說明如下:

固實壓縮文件是 RAR 的一種特殊壓縮方式存儲的壓縮文件,它把壓縮文件中的全部文件都當(dāng)成一個連續(xù)數(shù)據(jù)流來看待。

這段說明其實揭示了固實壓縮格式能夠提高壓縮比的奧秘:數(shù)據(jù)壓縮的基礎(chǔ)是“重復(fù)”,例如aaaabbb這個字符串,里面就有重復(fù),如果表示為a4b3,看起來是不是變短了?這就是“數(shù)據(jù)壓縮”。“重復(fù)”是一個具有相對意義的概念,在某一范圍內(nèi)看起來沒有重復(fù),或重復(fù)不多的數(shù)據(jù),把范圍擴(kuò)大,說不定就能找到更多重復(fù)的數(shù)據(jù)了,這就是固實壓縮的奧秘。

舉一個簡單的例子:用zip和普通rar壓縮一堆jpg文件,很難壓下去,但是用固實壓縮方式的rar就可以,其原因就在于:jpg文件本身已經(jīng)是壓縮格式了,單個jpg文件里很難再 找到可利用的重復(fù)數(shù)據(jù),因此不論是用zip還是普通的rar都很難再壓縮,因為他們都將需要壓縮的文件分隔開來一個一個處理。但是對于固實rar來說,是將 所有需要壓縮的jpg文件當(dāng)作一個整體來壓縮,這些jpg之間就存在重復(fù)的數(shù)據(jù),如他們都有相同的文件頭(其中包括各種數(shù)據(jù)表)等,這就出現(xiàn)了可壓縮的空間。從我看到的資料來看,F(xiàn)lash文件也采用了類似的技術(shù)對jpg進(jìn)行壓縮:如果在Flash文件中使用了多個jpg文件,它們可以共用一個文件頭。

當(dāng)然天下不會有白吃的午餐,固實壓縮方式在提高壓縮比的同時,也有一些限制,在WinRAR v3.42幫助文件中的說法是:

固實壓縮可增加壓縮性能,特別是在添加大量的小文件的時候,但它也有一些重要的不利因素:

  • 對已存在的固實壓縮文件更新時較慢;
  • 要從固實的壓縮文件解壓單個文件時,它之前的文件都需先經(jīng)過分析。這造成當(dāng)從固實的壓縮文件內(nèi)取出文件時會比一般壓縮文件取出文件慢一些。但是,當(dāng)從固實的壓縮文件解壓全部的文件時,解壓速度并沒有影響。
  • 如果在固實壓縮文件中的任何文件損壞了,要從損壞的范圍中解壓全部的文件是不可能的。因此,如果固實壓縮文件是保存在例如軟盤等媒介時,推薦你在制作時使用“恢復(fù)記錄”。

固實壓縮的適用場合為:

  • 壓縮文件很少更新的時候;
  • 不需要經(jīng)常從壓縮文件中解壓一個文件或是部分文件的時候;
  • 壓縮效率比壓縮速度更為重要的時候。

與前面說的“隨機(jī)訪問”對應(yīng),固實壓縮的RAR文件可能是世界上最不適合隨機(jī)訪問的:如果需要訪問固實RAR包中的某個文件,就要從文件頭開始解壓,一直解到這個文件。

三、安全性

這里的安全性包含幾個方面的含義:文件系統(tǒng)安全性、密碼保護(hù)安全性和文件數(shù)據(jù)安全性。

由于制訂zip格式規(guī)范的時候操作系統(tǒng)本身的文件安全性還沒有引起足夠的重視,因此zip格式只記錄最基本的文件屬性,包括只讀屬性等,沒有其它附加的安全屬性。

rar格式剛推出的時候,文件系統(tǒng)的安全性只能參照DOS,和zip差不多。但是rar畢竟是一種封閉的格式,想怎么改作者一個人說了就算,因此當(dāng)Windows中出現(xiàn)NTFS,并且引入擴(kuò)展的文件系統(tǒng)安全屬性時,rar也積極跟進(jìn),所以現(xiàn)在應(yīng)該說rar格式在這方面比zip強 。

在zip和rar格式中均提供了密碼保護(hù)功能,但是密碼保護(hù)的安全強度不同。

zip由于格式開放、代碼開源,因此zip密碼破解軟件出現(xiàn)得比較早,也比較多。初期以暴力破解為主,威脅不大,真正對zip密碼安全的致命一擊是known plain text(已知明文)攻擊法:如果知道加密zip文件中某段內(nèi)容(密文,ciphertext)解密后的真正內(nèi)容(明文,plain text),就可以反推出zip加密口令。在這種攻擊方法的威脅,及某些國家的法律對密碼技術(shù)的限制下, 著名開源組織zlib宣布永久放棄對加密zip的支持,詳見zlib網(wǎng)站上的相關(guān)說明(不過在zlib發(fā)行的源代碼里仔細(xì)找找,還是能找到原來的加/解密相關(guān)代碼)。

記得rar剛推出的時候也和zip一樣,雖然不能列出加密文件中的文件內(nèi)容,但可以列出加密文件中的文件名。后來大概也是被known plain text攻擊法嚇到了,增加了一個“加密文件名”選項,干脆連加密rar文件里有哪些文件都看不見,讓攻擊者想猜明文都無從猜起。

rar格式比zip晚推出,在安全方面吸取了足夠的教訓(xùn),因此采用的是美國國家標(biāo)準(zhǔn)與技術(shù)局(National Institute of Standard and Technology, NIST)推薦的、目前公認(rèn)安全程度比較高的AES對稱加密算法 ,密鑰長度128位。在ASE被攻破以前(NIST認(rèn)為30年內(nèi)無法攻破),大家都只能在暴力法上兜圈子,所以密碼安全性應(yīng)該說比zip高。對此WinRAR 3.42的幫助文件是這樣描述的:

ZIP 格式使用私有加密算法。 RAR 壓縮文件使用更強大的 AES-128 標(biāo)準(zhǔn)加密。如果你需要加密重要的信息,選擇 RAR 壓縮文件格式會比較好一些。為了確實的安全性,密碼長度請最少要 8 個字符。不要使用任何語言的單詞作為密碼,最好是任意的隨機(jī)組合字符和數(shù)字,并且要注意密碼的大小寫。請記住,如果你遺失你的密碼,你將無法取出加密的文件,就算是 WinRAR 的作者本身也無法解壓加密過的文件。

在數(shù)據(jù)安全性方面,RAR格式本身支持一種特殊的附加信息類型,叫做“恢復(fù)記錄”。如果RAR文件有恢復(fù)記錄,在介質(zhì)物理損壞或其它原因造成數(shù)據(jù)丟失時,WinRAR可以按照“恢復(fù)記錄”嘗試對數(shù)據(jù)進(jìn)行修復(fù)。而zip格式無恢復(fù)記錄,因此在數(shù)據(jù)安全性方面應(yīng)該說比RAR弱。

雖然RAR文件本身支持恢復(fù)記錄,但是在WinRAR里此選項缺省是關(guān)閉的,而打開后會導(dǎo)致壓縮出來的RAR文件體積增加(增加的百分比與設(shè)置有關(guān)),可能會令某些人感到不習(xí)慣(我就親眼見到有人在論壇上抱怨為什么壓出來的RAR文件會如此龐大),所以這個功能基本上形同虛設(shè)。

四、開放性

開放性的對比很明顯:zip格式不僅文件格式完全公開,而且有專門的開源組織提供操作源代碼,跨平臺使用也沒有多大限制;rar格式完全保密,作者只提供解壓所需源代碼,不提供壓縮所需源代碼 ,跨平臺使用有點麻煩。

zip開源組織中,最出名的是zlibInfoZip,二者各有側(cè)重:zlib偏重對內(nèi)存緩沖區(qū)的壓縮,因此被png等開源組織用做內(nèi)部壓縮算法,連java的jar程序內(nèi)核都來自zlib,打出來的jar包自然也是一個標(biāo)準(zhǔn)的zip文件;InfoZip偏重對文件的操作 (包括口令保護(hù)),應(yīng)用似乎不如zlib廣泛,但我個人覺得其實它還是滿好用的,前提是需要對它的源代碼進(jìn)行一些必要的修改。

png組織的網(wǎng)頁中有說到png格式的來歷,我覺得也很有意思:做png的一班人,其實原來都是做gif格式的,但是由于Unisys公司開始對gif格式的核心——LZW壓縮算法征收專利費,這幫人怒了,干脆提出png格式:大結(jié)構(gòu)方面還是采用分段結(jié)構(gòu),但是核心壓縮算法采用開源的zlib,壓縮 效果在多數(shù)情況下比gif的LZW更強。由于沒有版權(quán)限制,在靜態(tài)圖形領(lǐng)域png得到廣泛應(yīng)用,如果不是及時提出動畫支持并因此在web上大行其道,我估計gif早就死掉了。

RAR的解壓源代碼在其官方網(wǎng)站www.rarlab.com上提供,通常比WinRAR的正式版本晚一點,不過據(jù)說是直接從WinRAR的源代碼中摳出來的,所以兼容性應(yīng)該沒有什么問題。

五、結(jié)論

以下觀點純屬個人觀點,僅供參考,不具有如何指導(dǎo)意義:

  • 如果經(jīng)常需要對壓縮包進(jìn)行隨機(jī)訪問,應(yīng)該選zip而不是rar。雖然將下載到的rar重新壓縮成zip會麻煩一次,但是以后會減少無數(shù)的麻煩。
  • 如果需要分卷壓縮(如某些網(wǎng)站對上傳文件大小有限制),則只能用rar。事實上,這也是我唯一會使用rar格式的場合,其它時候一律zip沒商量。
posted on 2010-11-16 09:38 IT菜鳥 閱讀(585) 評論(0)  編輯 收藏 引用 所屬分類: C/C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久在线免费观看| 性色av香蕉一区二区| 欧美超级免费视 在线| 亚洲国产老妈| 欧美性开放视频| 久久久久五月天| 亚洲国产欧美久久| 国产精品福利在线观看| 久久久99久久精品女同性| 亚洲精品日韩激情在线电影| 性欧美大战久久久久久久免费观看| 一区二区三区精品| 精久久久久久| 国产嫩草一区二区三区在线观看 | 亚洲欧美国产高清va在线播| 奶水喷射视频一区| 亚洲国产精品va在看黑人| 亚洲精品视频中文字幕| 中文亚洲欧美| 一卡二卡3卡四卡高清精品视频 | 亚洲一区二区三区四区中文 | 香港久久久电影| 久久久人成影片一区二区三区观看| 亚洲最新合集| 亚洲精品乱码久久久久久蜜桃麻豆 | 欧美激情1区| 久久久久免费| 亚洲成人直播| 久久人人看视频| 一本色道久久88综合亚洲精品ⅰ| 亚洲国产日韩欧美在线图片| 一区二区三区产品免费精品久久75| 欧美亚洲视频一区二区| 亚洲无线视频| av成人免费在线| 最新中文字幕亚洲| 亚洲第一综合天堂另类专| 久久先锋影音av| 亚洲美女尤物影院| 一区二区三区不卡视频在线观看| 久久se精品一区二区| 欧美一区成人| 欧美日韩精品系列| 国产精品高潮在线| 亚洲日本欧美| 免费成人网www| 最新日韩中文字幕| 欧美在线视频二区| 国产噜噜噜噜噜久久久久久久久| 在线一区免费观看| 亚洲韩国日本中文字幕| 裸体素人女欧美日韩| 欧美三日本三级少妇三2023| 欧美日韩色综合| 国产精品日日摸夜夜摸av| 国产日韩精品一区观看| 在线观看一区二区视频| 日韩亚洲欧美综合| 欧美在线首页| 欧美激情亚洲自拍| 久久三级福利| 国产精品国产自产拍高清av王其| 亚洲成人在线免费| 开心色5月久久精品| 日韩视频在线观看免费| 欧美精品久久久久久久久久| 国产精品国产亚洲精品看不卡15 | 欧美高清在线精品一区| 一本色道**综合亚洲精品蜜桃冫 | 欧美日韩国产另类不卡| 日韩网站在线观看| 日韩一级黄色片| 国产精品99一区二区| 亚洲免费影视第一页| 免费一区二区三区| 美女黄毛**国产精品啪啪| 亚洲国产日韩在线| 亚洲欧洲日本国产| 国产精品成人va在线观看| 欧美在线看片a免费观看| 亚洲狼人精品一区二区三区| 久久久久久97三级| 亚洲精品中文字| 91久久精品美女| 欧美日韩国产成人在线免费| 亚洲男女毛片无遮挡| 欧美在线网址| 亚洲欧洲日韩女同| 久久视频国产精品免费视频在线| 午夜伦欧美伦电影理论片| 欧美日韩福利视频| 午夜在线一区| 另类天堂av| 红桃视频一区| 久久精品国产久精国产思思| 一区二区av| 国内精品视频一区| 久久国产精品久久精品国产| 久久精品国产免费观看| 国产在线视频欧美一区二区三区| 免费成年人欧美视频| 欧美日韩另类在线| 噜噜噜久久亚洲精品国产品小说| 欧美电影电视剧在线观看| 1024精品一区二区三区| 亚洲精品一区二| 伊人色综合久久天天| 久久久蜜桃精品| 欧美日韩免费一区| 欧美电影电视剧在线观看| 欧美午夜寂寞影院| 亚洲国产精选| 国内精品伊人久久久久av一坑| 亚洲人成绝费网站色www| 欧美成人免费播放| 久久er99精品| 国产精品国色综合久久| 亚洲国产mv| 在线观看日韩www视频免费 | 亚洲欧美日韩精品久久| 美女视频黄a大片欧美| 久久久精品一区二区三区| 欧美色综合天天久久综合精品| 蜜臀久久99精品久久久久久9 | 免费精品视频| 亚洲免费成人av电影| 久久精品一区二区国产| 欧美一区二区日韩| 久久久www成人免费精品| 亚洲欧美在线aaa| 欧美在线一区二区| 午夜免费在线观看精品视频| 欧美日韩亚洲国产精品| 亚洲国产精品va在线观看黑人| 精品动漫3d一区二区三区| 欧美影视一区| 久久美女性网| 影音先锋日韩有码| 久久亚洲免费| 韩国一区二区三区美女美女秀| 午夜精品999| 亚洲国产毛片完整版| 久久久久久夜| 欧美国产日韩精品| 亚洲精品老司机| 欧美激情欧美狂野欧美精品| 亚洲国产精品激情在线观看| 亚洲人成精品久久久久| 欧美精品日韩精品| 一区二区av在线| 欧美一区二区三区视频在线| 国产精品一级| 久久五月激情| 亚洲人成欧美中文字幕| 亚洲午夜精品国产| 国产欧美日韩激情| 久久香蕉精品| 亚洲精品乱码久久久久久黑人| 艳女tv在线观看国产一区| 欧美性做爰猛烈叫床潮| 午夜精品999| 亚洲国产黄色片| 亚洲宅男天堂在线观看无病毒| 久久蜜桃精品| 亚洲精品一二区| 欧美亚洲在线观看| 亚洲国产成人一区| 欧美在线资源| 亚洲国产成人av| 午夜精品美女自拍福到在线 | 国产欧美日韩伦理| 久久国产欧美精品| 亚洲日韩视频| 欧美一区二区三区四区高清| 精品1区2区3区4区| 欧美日韩精品在线播放| 欧美综合国产| 亚洲最新中文字幕| 鲁大师成人一区二区三区| 一区二区三区欧美在线| 狠狠久久五月精品中文字幕| 欧美日产在线观看| 久久免费视频观看| 亚洲在线观看免费| 午夜精品美女久久久久av福利| 国产精品社区| 欧美理论在线播放| 亚洲欧洲在线播放| 欧美在现视频| 一区二区三区国产| 亚洲第一天堂无码专区| 国产精品高潮呻吟久久av黑人| 久久久免费观看视频| 亚洲综合好骚| 99国产精品久久久| 亚洲国产天堂久久综合网| 久久久久久久一区二区三区| 亚洲一二三四区| 99在线精品免费视频九九视| 伊人成人开心激情综合网|