日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据压缩的极限

發布時間:2024/3/24 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据压缩的极限 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

單位的電子郵件最大只能發5MB的附件,因此在發送文件的時候,經常會使用壓縮軟件把附件進行壓縮分卷,一個大的附件經常會分成十幾甚至幾十個小文件。在壓縮的時候想起了很久以前思考的一個問題:

數據能不能被無限壓縮?

在小學六年級電腦課教使用壓縮軟件的時候,老師說對已經壓縮過的文件再壓縮是沒有效果的。實際生活中直覺告訴我們也是這樣的:像程序代碼之類的文本文件,壓縮率很高,幾十MB的文件經過壓縮,有時候都不足5MB一封郵件就能發出去;而像JPG、MP3、RMVB這種文件,壓縮后和壓縮前基本看不出區別。我想,大概是因為JPG、MP3、RMVB都是已經被壓縮過的文件格式,而代碼文件是沒有經過壓縮的,所以才導致了兩者壓縮率的差異。

隨著后來上了大學,慢慢的對這個問題有了答案:數據是不能被無限壓縮的。

計算機中1個bit有兩種狀態,0或者1。1個大小為n個bit的文件,包含了2^n種不同的0和1的組合順序。假如說有一種壓縮算法,壓縮率可以達到50%。那么壓縮后的文件,大小為n/2個bit,只能包含2 ^(n/2)種0和1的組合順序,是無法將壓縮前的2^n種排列表示完整的。

本質上,壓縮的原理其實就是用更精簡的字符串去描述復雜的字符串。字符串的規律性越強,壓縮的效果越好。

“CCCCCCCC”可以用”8C”來表示,一下子就縮短了6個字符。

相應的,內容越是隨機沒有規律,越是難被壓縮,例如隨機的字符串”LFSDHFA156″、π、還有上面例子里”CCCCCCCC”壓縮后的”8C”。

在英文里,常用的單詞都是比較短小的,例如I、you、a、one、two等,而不怎么常用的單詞,都是比較長的,例如biotransformation。我們背這些長的單詞的時候,往往會把它分解成簡單的一些單詞的組合”bio”+”transform”+”tion”這樣子來背。其實和數據壓縮是大同小異的。順便說下,這種把常用的單詞用盡量少的字母來表達的方法,就是信息學中大名鼎鼎的「哈夫曼編碼」的基本原理。

說了這么多,其實就是想解釋下,數據壓縮只不過是把海綿中的水擠壓出來,再怎么用力,都無法把海綿都擠的消失。

搬運自我的技術博客:http://www.cc-lab.cn/compression/

總結

以上是生活随笔為你收集整理的数据压缩的极限的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。