在論壇里看到一個帖子說有個外國變態用KGB Archiver這款壓縮軟件把439.6MB大小的Of-fice2007安裝包壓縮成了1.43MB大小,并發布到了網上。很多人的第一反應就是不可能,但東西就在這兒,是真是假解壓出來就知道了,于是不少人就抱著將信將疑的態度,下載了這個1.43MB 的Office2007。然而解壓的時候卻讓眾人又大吃一驚,有人說用P4 630的CPU、1GB內存的電腦解壓要花6個小時,配置差些的電腦甚至要花10~20 小時不等。如此漫長的解壓時間,把眾人的胃口吊得更高了,于是在等待結果那段時間里,眾人就展開了激烈的討論。
首先說說KGB Archiver 這款壓縮軟件吧,它是一款壓縮率高得不可思議的壓縮工具。它超越了如7zip和UHARC等以高壓縮率而著稱的壓縮工具,但是它對硬件的需求也較高,使用它的最大壓縮模式居然需要4GB內存!軟件作者推薦的最低配置為1.5GHz CPU和256MB 的內存,推薦最佳配置為3.0GHz的64位CPU和1.5GB 的內存。
接著回到眾人的討論中,有人說Maximum Compression網站有對各種壓縮軟件的變態測試,那里的測試結果是KGBArchiver可以把500MB 的數據壓縮到70多MB,即使是現在最強的WinRK 或者PAQ8G 也只能壓縮到60 幾MB,以此證明這個1.43MB 的Office2007 是忽悠人的(網址:http://www .maximumcompression.com/data/summary_mf.php)。但又有人提出了“微觀壓縮理論”,說任何的數字數據都可以用一個小于1 大于0 的有理數序列表表示,而這樣的數字都可以在數軸上表示出來,因此只要一個字節就可以表示出最大地址值的數據量,最理想的情況下我們可以用1M B的空間存儲1 TB 的內容。頓時就有人對這個在Google上都搜索不到的理論表示置疑,有的人就一步步分析此人的理論,說經壓縮后的1TB 數據依然屬于“任何”數據,那么它就應該能繼續重復壓縮,那就證明世界上所有數據的全集可以壓縮為容量1MB ,這顯然就很荒謬了。還有的人就把信息論之父C.E.Shannon 的理論搬出來,說信息編碼是有極限的,在一定的概率模型下,無損壓縮的編碼長度不可能小于信息熵公式給出的結果。而提出微觀壓縮理論的人又說這個理論是顛覆信息學的,不能用信息學來解釋,限制它實現的只有物理極限和技術水平。如此一番唇槍舌劍,讓論壇里多了一絲學術氣氛。
經過6 個多小時的等待,終于有人把它解壓完了,然而安裝的時候卻提示OSETUP.DLL 文件的數字簽名無效,無法進行安裝。難道等待了6 個小時就是這么個結果?所幸發布這個Office2007 的鬼佬后來又提供了單獨的OSETUP.DLL文件下載,但是替換掉這個文件后,仍然無法安裝。不甘心者本著實事求是的態度,用UltraEdit打開了里面的幾個CAB文件,發現內容竟然全部是FF,就連E XE 文件也有一大部分內容是00,估計整個壓縮文件中可能就那么一兩個小文件是真實的。還有的人用Win R AR 的最大壓縮方式把解壓后的Office2007 又重新壓縮了一遍,最后得到的壓縮文件竟然只有3.73MB,由此更加證明Office2007安裝包里面絕大多數都是些空文件,根本就不是有效的安裝程序。如果是空文件,那么這么大的壓縮比就很好解釋了。所謂空文件,就是文件的16進制內容全是00的文件(也可以是FF),這樣的文件不管它的體積有多大,壓縮后的體積也會很小。熟悉數據庫操作的人就知道,隨便建一個1GB的數據庫,這個空數據庫文件壓縮后可能就只有幾KB 大小。
最后終于可以得出結論:我們被這個鬼佬忽悠了一把。但是這件事也讓更多的人認識到了K G B Archiver這款壓縮軟件。其實,壓縮軟件一味地追求高壓縮率并不明智,因為高壓縮率往往對硬件的依賴程度也很高,像解壓這個1.43MB的Office2007要花6個小時,有這么多時間,都足夠通過網絡傳輸一份未經壓縮的Office2007安裝程序了。隨著存儲技術和網絡技術的迅猛發展,個人用戶將會在未來幾年體驗到更大容量的存儲器和更快的網速。當我們只要花1 分鐘就可以下載一部HDTV影片的時候,誰還愿意去下載一部要花10 個小時解壓后才能觀看的影片呢?所以壓縮軟件不用一味地追求高壓縮率的神話,把握好壓縮率與時間以及硬件配置之間的平衡關系,才能讓大家用得滿意,這也就是為什么WinZIP 和WinRAR 能占有壓縮軟件市場絕大份額的原因之一吧。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。