1.常見文件壓縮 首先我們用WinRAR的最高壓縮率對常見的文本文件、程序文件和多媒體文件進行壓縮,其壓縮結(jié)果如下(見圖1): 壓縮后分別還是挺大的 從上圖可以看出,多媒體文件壓縮比最低,與原文件相差無幾,而文本文件和程序文件壓縮比要高一些,最高達到3:1,從實際經(jīng)驗來看,我們平時常見的文件壓縮比都在10倍以下。 那么,再來看看這個RAR壓縮包(見圖2),注意其中的原文件大小和壓縮后的包裹大小分別為16777215和18407,這是多大的比例?筆者用計算器算了一下,約等于911:1,接近1000倍的壓縮比!這是怎么回事?真的假的?跟我一起繼續(xù)做下面的試驗就明白了。 這個簡直是不可思議 2.把大象裝進瓶子里 這里筆者從自己的電腦里隨便找了個文件“數(shù)字圖像噪聲和去除.htm”,這是筆者在瀏覽網(wǎng)頁時使用另存為功能從網(wǎng)上下載的文章,大小為125KB。 第一步:壓縮為ZIP文件。右鍵單擊“數(shù)字圖像噪聲和去除.htm”文件,選擇“WinRAR→添加到檔案文件”,在壓縮選項對話框中選擇“檔案文件類型”為“ZIP”,“壓縮方式”為“最好”(見圖3),單擊“確定”開始壓縮。可以看到壓縮后的“數(shù)字圖像噪聲和去除.zip”文件只有19KB,壓縮率還不錯,不過仍離我們的目標相去甚遠。 第二步:用WinRAR打開“數(shù)字圖像噪聲和去除.zip”,記下“大小”列中顯示的原文件大小數(shù)值“127594”,打開計算器程序,單擊“查看”菜單選擇“科學(xué)型”,輸入數(shù)字“127594”,再點擊“十六進制”選項將其轉(zhuǎn)換為16進制值,結(jié)果是“1F26A”(見圖4)。 用科學(xué)型計算器認真算一下 第三步:用UltraEdit編輯器打開“數(shù)字圖像噪聲和去除.zip”文件,我們要在文件中找到“1F26A”的數(shù)據(jù),不過由于文件中的十六進制數(shù)是高低位倒置表示的,所以我們要查找的數(shù)據(jù)就變成了“6AF201”,單擊“搜索”菜單中的“替換”,將文件中的“6AF201”替換為“FFFFFF”(見圖5),共替換兩處,文件開頭和結(jié)尾各一處,替換后保存文件修改。 替換數(shù)值 小提示 我們前面之所以要選擇ZIP壓縮格式,而不是直接使用RAR壓縮格式,是因為WinRAR對RAR格式的CRC檢驗非常嚴格,對文件進行任何修改都會提示壓縮錯誤,而使用ZIP格式壓縮,修改后再用WinRAR打開時不會進行嚴格的CRC檢驗,沒有任何錯誤提示。 第四步:現(xiàn)在再用WinRAR打開“數(shù)字圖像噪聲和去除.zip”文件,你會驚奇地發(fā)現(xiàn),壓縮包中顯示的原文件體積達到了16777KB(見圖6),也就是16MB!現(xiàn)在你明白我們第三步中所做修改的目的了吧,我們就是要把原文件從“蟋蟀”變成“大象”!而且,現(xiàn)在你把壓縮包中的“數(shù)字圖像噪聲和去除.htm”文件解壓出來,其文件體積仍然是16MB,而且可以正常打開瀏覽。 謎底揭曉了 第五步:接下來就很簡單了,把這個修改后的ZIP格式變成RAR格式即可,如果用WinRAR“工具”菜單中的“轉(zhuǎn)換檔案文件格式”功能轉(zhuǎn)換后的壓縮比會稍微縮小,這里我們直接將“數(shù)字圖像噪聲和去除.zip”改名為“數(shù)字圖像噪聲和去除.rar”,就做成了最開始看到的那個超級壓縮包。 3.文件壓縮原理 文件壓縮分為有損壓縮和無損壓縮兩種,我們常用的WinRAR、WinZip都是屬于無損壓縮,其基本原理都是一樣的,簡單地說也就是把文件中的重復(fù)數(shù)據(jù)用更簡潔的方法表示,例如一個文件中有1000個字母A,那么這將占用1KB的數(shù)據(jù)空間,如果用壓縮算法就可以用1000A來表示,那么它只需要5個字節(jié)的數(shù)據(jù)空間,壓縮比達到了200倍。 那么由此看來,1000倍甚至更高倍的壓縮比是可以實現(xiàn)的,但要求源文件必須有足夠多的重復(fù)數(shù)據(jù)。不過,我們平時使用的文件都不可能是這樣的,所以通常文件壓縮比都在10倍以下,如果某個軟件聲稱對任何文件都能夠產(chǎn)生這種超高壓縮比的話,那它肯定就是具有欺騙性質(zhì)的了。 小編有話說:很多網(wǎng)上下載的文件只有300MB或400MB,但是解壓后,居然可以達到2GB甚至更多,也許你會奇怪,為什么你用WinRAR壓縮同樣的文件,就沒有這樣的壓縮效果呢?其實這是因為這些文件是用多款不同的壓縮軟件進行壓縮的,用壓縮音頻最好的壓縮軟件壓縮音頻文件,用壓縮動畫最好的壓縮軟件壓縮動畫文件。而且在壓縮時所選的參數(shù)也是最佳的,這樣也就保證了最后生成的壓縮文件是最小的
|