利用 WinRAR 使 1G 的文件壓成 1M 的文件

利用 WinRAR 使 1G 的文件壓成 1M 的文件

多媒體文件壓縮比最低,與原文件相差無幾,而文本文件和程式文件壓縮比要高一些,最高達到3:1,從實際經驗來看,我們平時一般的文件壓縮比都在10倍以下。
那麼,再來看看這個RAR壓縮包,注意其中的原文件大小和壓縮後的包裹大小分別為16777215和18407,這是多大的比例?
筆者用計算器算了一下,約等於911:1,接近1000倍的壓縮比!
這是怎麼回事?
真的假的?
跟我一起繼續做下面的試驗就明白了。


這個簡直是不可思議
2.把大象裝進瓶子裡
這裡筆者從自己的電腦裡隨便找了個文件「數位圖像噪聲和去除.htm」,這是筆者在瀏覽網頁時使用另存為功能從網上下載的文章,大小為125KB。

第一步:壓縮為ZIP文件。右鍵按下「數位圖像噪聲和去除.htm」文件,選項「WinRAR→增加到檔案文件」,在壓縮選項對話視窗中選項「檔案檔案類型」為「ZIP」,「壓縮方式」為「最好」,按下「確定」開始壓縮。
可以看到壓縮後的「數位圖像噪聲和去除.zip」文件只有19KB,壓縮率還不錯,不過仍離我們的目標相去甚遠。


第二步:用WinRAR開啟「數位圖像噪聲和去除.zip」,記下「大小」列中顯示的原文件大小數值「127594」,開啟計算器程序,按下「檢視」表單選項「工程型」,輸入數位「127594」,再點擊「十六進制」選項將其轉換為16進制值,結果是「1F26A」。


用工程型計算器認真算一下

第三步:用UltraEdit編輯器開啟「數位圖像噪聲和去除.zip」文件,我們要在文件中找到「1F26A」的資料,不過由於文件中的十六進制數是高低位元倒置表示的,所以我們要搜尋的資料就變成了「6AF201」,按下「搜尋」表單中的「取代」,將文件中的「6AF201」取代為「FFFFFF」,共取代兩處,文件開頭和結尾各一處,取代後儲存文件修改。


取代數值
小提示
我們前面之所以要選項ZIP壓縮格式,而不是直接使用RAR壓縮格式,是因為WinRAR對RAR格式的CRC檢驗非常嚴格,對文件進行任何修改都會提示壓縮錯誤,而使用ZIP格式壓縮,修改後再用WinRAR開啟時不會進行嚴格的CRC檢驗,沒有任何錯誤提示。


第四步:現在再用WinRAR開啟「數位圖像噪聲和去除.zip」文件,你會驚奇地發現,壓縮包中顯示的原文件體積達到了16777KB,也就是16MB!現在你明白我們第三步中所做修改的目的了吧,我們就是要把原文件從「蟋蟀」變成「大象」!而且,現在你把壓縮包中的「數位圖像噪聲和去除.htm」文件解壓出來,其文件體積仍然是16MB,而且可以正常開啟瀏覽。


謎底揭曉了
第五步:接下來就很簡單了,把這個修改後的ZIP 格式變成RAR格式即可,如果用WinRAR「工具」表單中的「轉換檔案文件格式」功能轉換後的壓縮比會稍微縮小,這裡我們直接將「數位圖像噪聲和去除. zip」改名為「數位圖像噪聲和去除.rar」,就做成了最開始看到的那個超級壓縮包。

3.文件壓縮原理
文件壓縮分為有損壓縮和無損壓縮兩種,我們常用的WinRAR、WinZip都是屬於無損壓縮,其基本原理都是一樣的,簡單地說也就是把文件中的重複資料用更簡潔的方法表示,例如一個文件中有1000個字母A,那麼這將佔用1KB的資料空間,如果用壓縮算法就可以用1000A來表示,那麼它只需要灌水限制節的資料空間,壓縮比達到了200倍。

那麼由此看來,1000倍甚至更高倍的壓縮比是可以實現的,但要求源文件必須有足夠多的重複資料。

不過,我們平時使用的文件都不可能是這樣的,所以通常文件壓縮比都在10倍以下,如果某個軟體聲稱對任何文件都能夠產生這種超高度壓縮比的話,那它肯定就是具有欺騙性質的了。

小編有話說:很多網上下載的文件只有300MB或400MB,但是解壓縮後,居然可以達到2GB甚至更多,也許你會奇怪,為什麼你用WinRAR壓縮同樣的文件,就沒有這樣的壓縮效果呢?

其實這是因為這些文件是用多款不同的壓縮軟體進行壓縮的,用壓縮音瀕最好的壓縮軟體壓縮音瀕文件,用壓縮動畫最好的壓縮軟體壓縮動畫文件。

而且在壓縮時所選的參數也是最佳的,這樣也就保證了最後產生的壓縮檔案是最小的。