當前位置:首頁 » 文件管理 » 文件壓縮原理

文件壓縮原理

發布時間: 2023-05-30 04:43:21

壓縮的壓縮基本原理

概述
如果您從互聯網上下載了許多程序和文件,可能會遇到很多ZIP文件。這種壓縮機制是一種很方便的發明,尤其是對網路用戶,因為它可以減小文件中的比特和位元組總數,使文件能夠通過較慢的互聯網連接實現更快傳輸,此外還可以減少文件的磁碟佔用空間。在下載了文件後,計算機可使用WinZip或Stuffit這樣的程序來展開文件,將其復原到原始大小。如果一切正常,展開的文件與壓縮前的原始文件將完全相同。 乍一聽好像很神秘:您是怎樣減少比特和位元組的數量並將它們原封不動地還原回去的呢?等一切水落石出之後,您會發現這個過程背後的基本理念其實非常簡單明了。在本文中,我們將討論這種通過簡單壓縮來明顯減小文件的方法。
大多數計算機文件類型都包含相當多的冗餘內容——它們會反復列出一些相同的信息。文件壓縮程序就是要消除這種冗餘現象。與反復列出某一塊信息不同,文件壓縮程序只列出該信息一次,然後當它在原始程序中出現時再重新引用它。
舉例
以我們熟悉的信息類型——單詞——為例子。
肯尼迪(John F. Kennedy)在1961年的就職演說中曾說過下面這段著名的話:
Ask not what your country can do for you——ask what you can do for your country.(不要問國家能為你做些什麼,而應該問自己能為國家做些什麼。)
這段話有17個單詞,包含61個字母、16個空格、1個破折號和1個句點。如果每個字母、空格或標點都佔用1個內存單元,那麼文件的總大小為79個單元。為了減小文件的大小,我們需要找出冗餘的部分。
我們立刻發現:
如果忽略大小寫字母間的區別,這個句子幾乎有一半是冗餘的。九個單詞(ask、not、what、your、country、can、do、for、you)幾乎提供了組成整句話所需的所有東西。為了構造出另一半句子,我們只需要拿出前半段句子中的單詞,然後加上空格和標點就行了。
大多數壓縮程序使用基於自適應字典的LZ演算法來縮小文件。「LZ」指的是此演算法的發明者Lempel和Ziv,「字典」指的是對數據塊進行歸類的方法。
排列字典的機制有很多種,它也可以像編號列表那樣簡單。在我們檢查肯尼迪這句著名講話時,可以挑出重復的單詞,並將它們放到編號索引中。然後,我們直接寫入編號而不是寫入整個單詞。
結論
因此,如果我們的字典是:
ask
what
your
country
can
do
for
you
我們的句子就應該是這樣的:
1 not 2 3 4 5 6 7 8-- 1 2 8 5 6 7 3 4
如果您了解這種機制,那麼只需使用該字典和編號模式即可輕松重新構造出原始句子。這就是在展開某個下載文件時,計算機中的解壓縮程序所做的工作。你可能還遇到過能夠自行解壓縮的壓縮文件。若要創建這種文件,編程人員需要在被壓縮的文件中設置一個簡單的解壓縮程序。在下載完畢後,它可以自動重新構造出原始文件。
但是使用這種機制究竟能夠節省多少空間呢?「1 not 2 3 4 5 6 7 8——1 2 8 5 6 7 3 4」當然短於「Ask not what your country can do for you-- ask what you can do for your country.」,但應注意的是,我們需要隨文件一起保存這個字典。
在實際壓縮方案中,計算出各種文件需求是一個相當復雜的過程。讓我們回過頭考慮一下上面的例子。每個字元和空格都佔用1個內存單元,整個原句要佔用79個單元。壓縮後的句子(包括空格)佔用了37個單元,而字典(單詞和編號)也佔用了37個單元。也就是說,文件的大小為74個單元,因此我們並沒有把文件大小減少很多。
但這只是一個句子的情況!可以想像的是,如果用該壓縮程序處理完肯尼迪講話的其餘部分,我們會發現這些單詞以及其他單詞重復了更多次。而且,正如下一節所言,為了得到盡可能高的組織效率,可以對字典進行重寫。
在上一個的例子中,我們挑出了所有重復的單詞並將它們放在一個字典中。對於我們來說,這是最顯而易見的字典編寫方法。但是壓縮程序卻不這樣認為:它對單詞沒有概念——它只會尋找各個模式。為了盡可能減小文件的大小,它會仔細挑選出最優模式。
如果從這個角度處理該句子,我們最終會得到一個完全不同的字典。
如果壓縮程序掃描肯尼迪的這句話,它遇到的第一個冗餘部分只有幾個字母長。在ask not what your中,出現了一個重復的模式,即字母t後面跟一個空格——在not和what中。如果壓縮程序將此模式寫入字典,則每次出現「t」後面跟一個空格的情況時,它會寫入一個「1」。但是在這個短句中,此模式的出現次數不夠多,不足以將其保留為字典中的一個條目,因此程序最終會覆蓋它。
程序接下來注意到的內容是ou,在your和country中都出現了它。如果這是一篇較長的文檔,將此模式寫入字典會節省大量空間——在英語中ou是一個十分常見的字母組合。但是在壓縮程序看完整個句子後,它立即發現了一個更好的字典條目選擇:不僅ou發生了重復,而且your和country整個單詞都發生了重復,並且它們實際上是作為一個短語your country一起發生重復的。在本例中,程序會用your country條目覆蓋掉字典中的ou條目。
短語can do for也發生了重復,一次後面跟著your,另一次跟著you,因此我們又發現can do for you也是一種重復模式。這樣,我們可以用一個數字來代替15個字元(包含空格),而your country只允許我們用一個數字代替13個字元(包含空格),所以程序會用r country條目覆蓋your country條目,然後再寫入一個單獨的can do for you條目。程序通過這種方式繼續工作,挑出所有重復的信息,然後計算應該將哪一種模式寫入字典。基於自適應字典的LZ演算法中的「自適應」部分指的就是這種重寫字典的能力。程序執行此工作的過程實際上非常復雜。
無論使用什麼方法,這種深入搜索機制都能比僅僅挑出單詞這種方法更有效率地對文件進行壓縮。如果使用我們上面提取出的模式,然後用「__」代替空格,最終將得到下面這個更大的字典:
ask__
what__­
you
r__country
__can__do__for__you
而句子則較短:
「1not__2345__--__12354」
句子佔用18個內存單元,字典佔用41個單元。所以,我們將文件總大小從79個單元壓縮到了59個單元!這僅僅是壓縮句子的一種方法,而且不一定是最高效的方法。(看看您能找到更好的方法嗎!)

② zip 的壓縮原理與實現

文件壓縮原理

我們使用計算機所做的事情大多都是對文件進行處理。每個文件都會佔用一定的磁碟空間,我們希望一些文件,尤其是暫時不用但又比較重要不能刪除的文件(如備份文件,有點像雞肋呀),盡可能少的佔用磁碟空間。但是,許多文件的存儲格式是比較鬆散的,這樣就浪費了一些寶貴的計算機存儲資源。這時,我們可以藉助壓縮工具解決這個問題,通過對原來的文件進行壓縮處理,使之用更少的磁碟空間保存起來,當需要使用時再進行解壓縮操作,這樣就大大節省了磁碟空間。當你要拷貝許多小文件時,通過壓縮處理可以提高執行效率。如果小文件很多,操作系統要執行頻繁的文件定位操作,需要花費很多的時間。如果先把這些小文件壓縮,變成一個壓縮文件後,再拷貝時就很方便了。由於計算機處理的信息是以二進制數的形式表示的,因此壓縮軟體就是把二進制信息中相同的字元串以特殊字元標記來達到壓縮的目的。為了有助於理解文件壓縮,請您在腦海里想像一幅藍天白雲的圖片。對於成千上萬單調重復的藍色像點而言,與其一個一個定義「藍、藍、藍……」長長的一串顏色,還不如告訴電腦:「從這個位置開始存儲1117個藍色像點」來得簡潔,而且還能大大節約存儲空間。這是一個非常簡單的圖像壓縮的例子。其實,所有的計算機文件歸根結底都是以「1」和「0」的形式存儲的,和藍色像點一樣,只要通過合理的數學計算公式,文件的體積都能夠被大大壓縮以達到「數據無損稠密」的效果。總的來說,壓縮可以分為有損和無損壓縮兩種。如果丟失個別的數據不會造成太大的影響,這時忽略它們是個好主意,這就是有損壓縮。有損壓縮廣泛應用於動畫、聲音和圖像文件中,典型的代表就是影碟文件格式mpeg、音樂文件格式mp3和圖像文件格式jpg。但是更多情況下壓縮數據必須准確無誤,人們便設計出了無損壓縮格式,比如常見的zip、rar等。壓縮軟體(compression software)自然就是利用壓縮原理壓縮數據的工具,壓縮後所生成的文件稱為壓縮包(archive),體積只有原來的幾分之一甚至更小。當然,壓縮包已經是另一種文件格式了,如果你想使用其中的數據,首先得用壓縮軟體把數據還原,這個過程稱作解壓縮。常見的壓縮軟體有winzip、winrar等

③ 什麼是文件壓縮

壓縮包是經過壓縮形成的文件,壓縮後比初始文件內存更小,可以將多個文件壓縮成一個文件,且壓縮後的文件在傳輸過程中不易被損壞。壓縮包使用最廣泛的格式有rar 、zip、7z,zip壓縮速度快,壓縮率高,rar雖然壓縮速度及壓縮率略遜於zip,但是它支持多卷壓縮文件。

壓縮包的作用

1、節約磁碟空間

2、壓縮包可以容納多個文件,在發送郵件的時候,不需要一個一個上傳文件,將其壓縮成一個壓縮包就能一次上傳即可。

3、如果文件過大,可將文件壓縮成說個小壓縮包,適用於文件拷貝。比如有個300M的文件需要拷貝到別的電腦中,而U盤只有256M,可以用壓縮軟體把文件分成兩個150M的壓縮包然後分別拷貝即可解決。

4、部分軟體可實現對初始文件的壓縮保密保障,就是在形成壓縮包的時候添加解壓密碼,這樣生成的壓縮包別人沒有密碼是無法打開的,可以起到一定的文件保密作用。

④ 壓縮和解壓縮的原理是什麼

目前壓縮技術可分為通用無損數據壓縮與有損壓縮兩大類,但不管是採用何種技術模型,其本質內容都是一樣的,即都是通過某種特殊的編碼方式將數據信息中存在的重復度、冗餘度有效地降低,從而達到數據壓縮的目的。比如:「中國」是「中華人民共和國」的簡稱,但前者的字數是2,後者則是7,但我們都不會對它們倆所要表達的意思產生誤解,這是因為前者保留了信息中最「關鍵點」。同時,作為有思維能力的人類,我們可以根據前後詞彙關系和知識積累,就可推斷出其原來的全部信息。壓縮技術也一樣,在不影響文件的基本使用的前提下,只保留原數據中一些「關鍵點」,去掉了數據中的重復的、冗餘的信息,從而達到壓縮的目的。這就是文件壓縮技術所要遵循的最基本原理。

⑤ 為什麼要把文件壓縮

①能省空間。在早期計算機硬碟里的空間比較小時,這個作用尤為重要。
②便於管理文件,類似一個單文件的文件夾
③保密作用。這也是我個人最重要的用途。現在隨著存儲空間的越來越大,越來越便宜,壓縮本身的作用大大降低了,加密的作用就重要得多了。即把文件用壓縮軟體打成包(用壓縮度最小的「存儲」格式),然後加上密碼。這樣的這樣,文件就算是被別人偷去了,也沒什麼可擔心的。其實壓縮軟體的加密強度是相當高的,可不是這里頭有個人的帖子里說的那樣,是個「簡單加密」。
④文件切割作用。有時候某個文件太大,需要把它分割成幾個小些的文件,便於傳輸(比如說郵箱的附件有大小限制)或是拷貝。在一些老式的計算機中,硬碟分區格時式是fat32,無法存儲超過4G的文件,這種時候也有必要把大文件分割成小的文件。這兩種時候,倒是都可以結合原本的壓縮功能

⑥ 壓縮文件是什麼原理啊

什麼是壓縮文件?
簡單的說,就是經過壓縮軟體壓縮的文件叫壓縮文件,壓縮的原理是把文件的二進制代碼壓縮,把相鄰的0,1代碼減少,比如有000000,可以把它變成6個0 的寫法60,來減少該文件的空間。
■怎麼壓縮文件?
首先要安裝壓縮軟體,現在比較流行的是WinRAR「一種高效快速的文件壓縮軟體(中文版)」。
其次是建立一個壓縮包:選擇你要製作成壓縮包的文件或文件夾,當然你也可也多選,方法同資源管理器,也就是按住Ctrl或Shift再選擇文件(文件夾)。 選取完畢之後,就可以單擊工具欄上的「壓縮」按鈕,在這里你可以選擇壓縮格式:RAR和ZIP。 如果你想得到較大的壓縮率,建議選擇RAR格式。
各個選項選擇好以後,單擊確定按鈕就開始製作壓縮包了,非常方便。
有時候大家會遇到這個問題,就是你在一個論壇里要上傳一些文件壓縮包,壓縮包大小有3M,但是論壇限制會員上傳大小隻有2M,怎麼辦呢?
其實辦法很簡單,就是在你壓縮這個文件時,分成幾個帶分卷壓縮包,分卷包大小設置為2M即可,比如:原來文件名為123.rar(3M),壓縮成分卷包後為123.part1.rar(2M)與123.part2.rar(1M)兩個文件,這樣你就可以上傳了。
具體方法如下:
1、在要壓縮的文件上點右鍵
2、添加到壓縮文件....
3、選常規
4、壓縮方式選最好
5、批定壓縮分卷大小(按位元組計算),1M = 1024K,1K = 1024位元組,填寫數字即可
當你下載了帶有分卷的壓縮包後,如何解壓文件呢?
具體方法如下:
1、把所有的壓縮分卷全部下載完整
2、所有分卷必須在同一個文件夾內
3、然後雙擊解壓第一個分卷,即可
註:分卷解壓的文件必須是連續的,若分卷未下載完整,則解壓時自然會提示需要下一壓縮分卷

⑦ 軟體壓縮的原理是什麼

壓縮的原理是把文件的二進制代碼壓縮,把相鄰的0,1代碼減少,比如有000000,可以把它變成6個0 的寫法60,來減少該文件的空間。

由於計算機處理的信息是以二進制數的形式表示的,因此壓縮軟體就是把二進制信息中相同的字元串以特殊字元標記來達到壓縮的目的。

為了有助於理解文件壓縮,請在腦海里想像一幅藍天白雲的圖片。對於成千上萬單調重復的藍色像點而言,與其一個一個定義「藍、藍、藍??」長長的一串顏色,還不如告訴電腦:「從這個位置開始存儲1117個藍色像點」來好悶得簡潔,而且還能大大節約存儲空間。

這是一個非常簡單的圖像壓縮的例子。其實,所有的計算機文件歸根結底都是以「1」和「0」的形式存儲的,和藍色像點一樣,只要通過合理的數學計算公式,文件的體積都能夠被大大壓縮以達到「數據無損稠密」的效果。

(7)文件壓縮原理擴展閱讀

WinRAR能備份數據,減少 E-mail附件的大小,解壓縮從Internet上下載的 RAR、ZIP 和其他格式的壓縮文件,並能創建 RAR 和 ZIP 格式的壓檔襪爛縮文件。在購買之前,你可以下載試用版本。

WINRAR在壓縮率和速度方面都有很好的行漏表現。其壓縮率比高,3.x 採用了更先進的壓縮演算法,是現在壓縮率較大、壓縮速度較快的格式之一。 3.3 增加了掃描壓縮文件內病毒、解壓縮「增強壓縮」 ZIP 壓縮文件的功能, 升級了分卷壓縮的功能等。

參考資料來源:網路-壓縮文件

⑧ 壓縮文件是什麼原理

壓縮原理需要專業人士來解釋,我只了解一點:
(1)多媒體文件(視頻文件、音頻文件、MP3等),絕大多數已是經過壓縮或高度壓縮處理過的,無法再作進一步的壓縮或者根本無法壓縮,就目前的壓縮技術來看,即使可以再進一步壓縮,必定會以犧牲視頻文件、音頻文件的畫質、音質為代價;
(2)壓縮比大的文件,多半是指那些文本文件或一些數據表格文件,這些文件中重復的數據、文字信息比較多,壓縮軟體可以通過其演算法,把重復的信息全部歸納一個信息處理,盡可能縮小文件的大小,解壓時再將重復的信息通過處理回歸原位。對於這些文本文件,你不可能為縮小大小,而事先刪除那些重復的數據或文字,如果這樣,你恐怕根本就無法使用了。所以,只要文件內部重復的數據、文字信息越多,其壓縮比就會越高

熱點內容
外網訪問黑群暉 發布:2025-02-08 05:45:59 瀏覽:557
中央存儲伺服器公司地址 發布:2025-02-08 05:38:48 瀏覽:821
伺服器如何查詢表空間的文件路徑 發布:2025-02-08 05:38:00 瀏覽:161
宏基4741g哪個配置好 發布:2025-02-08 05:37:56 瀏覽:809
混合料運輸車的配置是如何計算的 發布:2025-02-08 05:31:35 瀏覽:293
android紅包插件 發布:2025-02-08 05:31:34 瀏覽:364
ea伺服器怎麼連接 發布:2025-02-08 05:16:45 瀏覽:463
更加密更改 發布:2025-02-08 05:15:20 瀏覽:786
倉儲資源配置都需要開展哪些任務 發布:2025-02-08 05:13:51 瀏覽:676
探針資料庫 發布:2025-02-08 05:13:35 瀏覽:80