壓縮原理
很多人都驚嘆於壓縮技術的神奇。文件被壓縮到壹半大小。怎麽才能無損恢復?
早期使用的壓縮技術都是基於統計模型的,基於字典壓縮的新技術在80年代初才慢慢普及。
數據壓縮包括許多軟件和硬件技術,這些技術各不相同,但大多數壓縮軟件都是基於LZ77和LZ88算法而修改的,而LZ77是字典壓縮的起源。眾所周知,壹個文本文件是由壹些單詞組成的,必然會有重復。比如這裏經常出現“壓縮軟件”這個詞。壓縮的原理是在文件頭做壹個類似字典的東西,把“壓縮軟件”這個詞放在字典裏,給這個詞賦壹個占字節數很少的代碼,文章中的“壓縮軟件”這個詞就被這個代碼代替,實現壓縮。當然,壓縮軟件在實際操作中並沒有那麽簡單,還有壹些讓妳看了就頭疼的微積分方法,這裏就不贅述了。可能有人會問,文本文件可以使用字典技術,但是其他文件呢?這個不用擔心,因為對於壓縮軟件來說,壹個文件中的“數據壓縮”這個詞和“@ #%”是壹樣的,關鍵在於冗余代碼(重復部分)的數量。
壓縮常識
根據壓縮方式,有所謂的“透明壓縮”和“打包壓縮”。
“透明壓縮”壹般針對。exe和。com文件並直接壓縮它們。如果成功,文件大小會更小,功能不變,運行速度可能會更快。然而,這種壓縮方法的物體表面非常狹窄。如果壓縮失敗,也會使文件不可用。所以這類程序總是強烈要求用戶在壓縮前備份文件。
“打包壓縮”就是現在經常提到的壓縮軟件使用的壓縮方式。它將壹個或多個文件壓縮成壹個文件壓縮包。要使用壓縮文件,您必須首先解壓縮並恢復文件。其特點是風險低,適合減少不常用文件占用的空間和傳輸數據。當然,根據壓縮算法,我們也可以把壓縮分為很多種。
壹般我們說到壓縮,都會提到很多相關的術語。讓我們提出壹些常用術語來解釋它們。
壓縮格式:壓縮文件時使用不同的壓縮編碼方式,壓縮生成的文件結構也不同。這種壓縮文件結構稱為壓縮格式。
壓縮比:壹個文件壓縮後所占用的磁盤空間與原始文件的比值稱為壓縮比。在常用的壓縮格式中,RAR格式的壓縮比較高,ZIP格式的壓縮比較低。但是ZIP格式的文件操作速度更快。
解壓縮:將壓縮文件恢復到其原始文件格式,也稱為釋放和擴展。
壓縮包:壹般通用壓縮格式的文件稱為壓縮包,比如ZIP壓縮文件。這個文件可以在壓縮工具的管理下管理包中的壓縮文件,比如查看、刪除、添加等。
打包:將壹個文件壓縮成壹個具有通用壓縮格式的壓縮包文件稱為打包,也指在壓縮包中加入文件壓縮。
多卷壓縮:將壹個壓縮文件包分成若幹個壓縮文件稱為多卷壓縮,壹般用於將壓縮文件存儲在多個軟盤上或便於在線傳輸。
自解壓文件:將文件壓縮成可執行文件,然後在不借助壓縮工具的情況下,通過執行壓縮文件來解壓還原自己的源文件。
壓縮文件格式
目前,有多種壓縮文件格式流行。讓我們來看看它們是什麽!
ZIP:目前最流行的壓縮文件格式(在互聯網上,ZIP文件取得了絕對的勝利。日常操作中,除了專門的壓縮軟件,很多文件管理程序,比如Windows Commander,也支持ZIP格式。我們可以用WinZip解壓發布Zip文件,也可以用它處理ARJ、ARC、CAB、LZH等不同格式的壓縮文件,極大的方便了用戶的操作。
RAR:這是壹種高效快速的文件壓縮格式,但大多數文件壓縮程序都不支持。WinRAR是Windows下處理RAR格式文件的最佳工具。
ARJ:曾經流行的壓縮軟件ARJ在DOS下壓縮的文件格式。它具有功能強大、壓縮率高的優點。在現在的Windows時代,已經失去了昔日的輝煌。
CAB:是Windows 98增加的壹種特殊的壓縮文件格式,主要用於壓縮相關軟件安裝盤中的文件。它的特點是壓縮率很高(可能是目前最高的),但是壹旦壓縮,就不能添加、刪除、替換,也就是說它的壓縮包具有“只讀”的屬性。我們也可以使用WinZip來操作CAB壓縮包。
?_:軟件安裝盤中使用的文件壓縮方法,如*。ex_,*。dl_、*.d3_等。它們壹般由系統直接解壓,安裝工作完成,無需用戶操心。當然,我們也可以使用DOS的EXPAND命令來*。?_發布操作的文件。
UU/UUE:漢字編碼方法,最初用於Unix系統,後來被改寫成DOS。我們只需要用這種方法預先對中文郵件進行編碼,然後就可以成功通過只能處理7位編碼的郵件服務器,從而解決漢字傳輸的問題。
ACE:壹個高壓縮比的新壓縮程序。
此外,MP3、MPEG、JPG等音頻、視頻、圖像格式的文件也采用壓縮技術,理論上它們也應該是壓縮文件,但它們采用的壓縮方式並不相同,這裏簡單介紹壹下:
JPEG:JPEG的全稱是聯合攝影專家組(Joint Photographic Experts Group),是國際標準組織(ISO)下從事靜止圖像壓縮標準開發的委員會。它制定了首個靜止圖像壓縮國家標準:ISO 10918-1,也就是俗稱的JPEG。JPEG因為質量過硬,短短幾年就取得了巨大的成功。目前網站上80%的圖片采用JPEG壓縮標準。
JPEG 2000:正式名稱為“ISO 15444”,也是由JPEG組織制定的。JPEG 2000與傳統JPEG最大的區別在於,它摒棄了基於離散余弦變換的分塊編碼方法,改為基於小波變換的多分辨率編碼方法。其壓縮比比JPEG高30%左右,同時支持有損和無損壓縮。無損壓縮對於保存壹些重要的圖片非常有用。
MP3:大家應該都知道吧。MP3的全稱是MPEG 1 Layer 3,是壹種高性能的聲音壓縮編碼方案。它可以制作超小“音量”的音樂文件,其大小僅為原始音頻數據的1/10至1/12。但是人耳聽起來,效果卻差不了多少。它幾乎壹誕生就占領了電腦音樂領域。因為MP3的出現,以前在網上半個小時就能下載完的壹首歌,現在用MP3格式只需要幾分鐘就能“搞定”。
MPEG:MPEG是運動圖像專家組的縮寫。
正在使用的有四個版本:MPEG-1、MPEG-2、MPEG-3和MPEG-4。