tft每日頭條

 > 科技

 > 壓縮文件工作原理

壓縮文件工作原理

科技 更新时间:2024-07-20 11:21:18

壓縮文件工作原理?在之前去馬賽克的科普中,我們知道在大多數時候,信息是不能由少變多的,除了靠聯想,這也是目前“還原”圖片馬賽克唯一的辦法,今天小編就來說說關于壓縮文件工作原理?下面更多詳細答案一起來看看吧!

壓縮文件工作原理(壓縮文件是什麼原理)1

壓縮文件工作原理

在之前去馬賽克的科普中,我們知道在大多數時候,信息是不能由少變多的,除了靠聯想,這也是目前“還原”圖片馬賽克唯一的辦法。

但在我們實際使用計算機的時候,有一種我們經常使用的技術——文件的壓縮,解壓。這個過程難道不是信息的由多到少,再由少到多的過程嗎?

還真不是。

文件的信息量并沒有在壓縮的過程中減少,因此解壓時也就不存在“增多”一說。

那壓縮文件是如何做到在保留信息含量的情況下,讓文件變小的呢?

我們都知道,電腦上的數據都是以一連串的二進制信息,也就是“0”和“1”的形式存儲的。

比如電腦CPU,裡面是成千上萬的晶體管,這些晶體管隻有兩種狀态,通電和斷電。“0”代表斷電,“1”代表通電。

再比如硬盤中存儲的并不是我們屏幕中看到的文字或圖片,而是硬盤中的盤片,通過磁化,用磁極SN極代表數字“0”和數字“1”來存儲信息的。

而一個“0”或“1”的大小就是一比特(Bit),8比特等于一子節(Byte),1024字節就是我們更為常見的1KB。以此類推,1024KB等于1MB,1024MB等于1GB。

知道了數據的大小後,便可以來看電腦實際上在處理的二進制編碼了。

「01000001表示字母A

01000010表示字母B

01000011表示字母C

01000100表示字母D」

這一段國際上常用的ASCII編碼中字母A-D對應的二進制表示方法。不難看出這些編碼中含有大量重複的部分,比如D前面五位數字都是「01000」,每行都有「表示字母字樣」。

而壓縮文件的原理,本質上就是通過找規律,簡化這些01之間的排列組合。

比如這裡就可以用上「字典算法」壓縮這個文件。

字典算法,即把文本中出現頻率較多的單詞或詞彙組合做成一個對應的字典列表,并用特殊代碼來表示這個單詞或詞彙,類似我們小時候解方程時把一個等式列為未知數。

如果這裡我們将「01000」列為X,「表示字母」列為Y,就可以這樣壓縮上面那段編碼:

「X001YA

X010YB

X011YC

X100YD」

換種方法解釋就是如果你說:

「我吃火鍋會拉肚子,我昨天吃火鍋了,我今天拉肚子了」

用字典算法就可以将這句話壓縮成:

「我吃A會B,我昨天A了,我今天B了」

當然,同樣的内容,其實還可以用「固定位長算法」,「RLE」等等算法來進行壓縮,但原理都是通過找規律,再進行歸納整理,這就完成了一次壓縮。

而有的時候,有的文件可以壓縮的很小,有的壓縮完卻幾乎沒有變化也是這個原因。内容相似之處較多時則容易壓縮的很小,反正則不容易壓縮。


參考來源:

《壓縮文件原理》,CSDN

《壓縮文件的原理到底是什麼?》啃芝士

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved