為什麼文本文件的壓縮比例遠遠高於圖片視頻等二進位文件?

實際的文件壓縮演算法是怎樣的?題主以前用赫夫曼編碼做過壓縮,壓縮比慘不忍睹。

另外,常用壓縮軟體為什麼對二進位文件壓縮幾乎無效?可否將二進位文件先轉換成base64再壓縮?


因為常見的圖片視頻文件都是已經壓縮過的了,BMP 除外。


你見到的二進位文件已經是高度壓縮過的。

haffman壓縮我也嘗試過,壓縮比還行吧。

當時記得效果是zip的一半左右。


簡單地說,就是視頻編解碼在做了視頻內容方面的壓縮之外(量化壓縮,幀內預測和幀間預測等等),最後補了一刀熵編碼。現代編碼技術為了榨乾視頻的壓縮潛能把能做的都做了。


題主就沒有想過壓縮過的文件再壓縮一遍會怎樣?

壓縮一定能讓文件變小嗎?不一定。有可能壓縮後反而更大嗎?有可能。

不過圖片、視頻、音頻信息壓縮有個大殺器,可以有損壓縮。事實上這類文件常見格式都是有損壓縮的,相比較原始信息量,壓縮率很逆天了。

最後

所有文件都是二進位的,此謂之數字化,而這個世界是模擬的

壓縮其實就是個去重的過程

日常使用的絕大部分文件類型都是壓縮過的,bmp,txt除外


被壓縮過的二進位文件熵很高……做過huffman應該知道一個普通的文本文件才多少不同的char吧,再看看二進位文件……畫出來的樹樣子都不一樣了好么


推薦閱讀:

為什麼windows、android系統卸載程序後仍然會留下許多無用的文件和文件夾?
有哪些可以替代360的軟體?
有什麼好的寫簡譜的軟體?
Everything Search Engine這款軟體如何做到如此快速的搜索的?
在軟體外包公司工作是什麼體驗?

TAG:軟體 | 演算法 | 編程 | 編碼 |