本期經驗將詳細講解“壓縮文件”的各個參數,保證教你壓出最小的結果
(本段可略過)
現在我們來略微了解一下各個壓縮軟件、壓縮算法的前世今生(均引用自百度百科,致敬)
【1】ZIP,是一個文件的壓縮的算法,原名Deflate(真空),發明者為菲利普·卡茲(Phil Katz)),他于1989年1月公布了該格式的資料。ZIP通常使用后綴名“.zip”,它的MIME格式為 application/zip 。目前,ZIP格式屬于幾種主流的壓縮格式之一
【2】RAR是一種專利(劃重點)文件格式,用于數據壓縮與歸檔打包,開發者是尤金·羅謝爾(Eugene Roshal),全名是:Roshal ARchive。首個公開版本RAR 1.3發布于1993年。
(因為它是一種專利(劃重點)文件格式,所以所有使用這種格式的壓縮軟件都要向rar專利持有人交專利費,winrar也因此增加了很多廣告)
【3】7-zip(后綴名.7z)是一種主流高效的壓縮格式,它擁有極高的壓縮比。在計算機科學中,7z是一種可以使用多種壓縮算法進行數據壓縮的檔案格式。該格式最初被7-Zip實現并采用,但是這種檔案格式是公有的,并且7-Zip軟件本身亦在GNU寬通用公共許可證 (GNU LGPL)協議下開放源代碼(劃重點)。
(因為它開放源代碼,所以這種壓縮格式被廣泛采用,在很多地方都能看到它),幾乎所有壓縮軟件都支持這種格式)
壓縮算法:常見的壓縮算法有Defate、Bzip、PPMd、不公開的詭異rar、開源的LZMA和繼任者LZMA2
在這必須糾正一下有些人的詭異評測,說啥7z沒有優勢,zip和rar完爆等等,其實他們只是用不同的壓縮算法欺騙了你的眼睛,真正決定壓縮效果的不是7z、zip、rar等壓縮格式,而是壓縮算法
通常被說成“效果最差”的zip格式,如果采用了LZMA算法,一樣可以達到極低壓縮率,7z如果用了Bzip算法,壓縮率也不咋樣
首先我們需要一款好使的壓縮軟件,推薦可調整參數較多的“7-zip”,“好壓”,較為不推薦不支持7z格式的“winrar”以及“快壓”
壓縮格式:最好選7z,可以支持LZMA2等先進壓縮算法
壓縮等級:這個只是一個快捷的調配方案,能幫你均衡調配下面的幾個參數,如果你不打算了解太多或者了解不了太多,直接選“極限壓縮”然后壓縮,下面的參數你就不用管了
壓縮方法(算法):LZMA2是目前最好的壓縮算法(沒有之一)。別的算法各有優勢,比如Bzip比較快
字典大小(重要)(內為重要內容,其他內容可忽略):顧名思義,“字典”就是壓縮文件的“字典”,所有被壓縮的文件被分割成小塊并計算各個小塊的哈希值(可以理解為“文件指紋”,指紋相同的兩個文件就是相同的兩個文件)哈希值和其他配置(比如某個文件塊屬于哪個文件)就存放在“字典“里邊,當壓縮文件較多,字典被占滿后,就會生成另外一個字典,把后半個壓縮文件的各種信息存放到這個字典里邊,這樣一來這個壓縮文件就有了兩個或以上的字典。字典大小極大程度決定了壓縮的效果字典越大壓縮率越低如果你用的是那種超大內存的機器可以嘗試大字典只有位系統才能使用超過的大字典壓縮解壓則不受系統類型影響但是字典不能太大否則會占用太多內存如果內存不足就容易導致壓縮失敗
單詞大小:這個翻譯有點奇怪,英文原詞是"fast bytes".解釋成什么都不重要,根據經驗選擇就可以了。此參數越大,壓縮速度越慢,但不影響解壓速度.最新版可選范圍是8~273.
LZMA官方默認的給出參數是64,一般來說,選擇比128大的值壓縮率的提高就不明顯了,只要“單詞大小”不是太小,就基本不影響壓縮率
固實數據大小:就是把多大塊文件一起壓縮,如果固實數據大小大于你要壓縮的文件總大小,那么這個壓縮文件就是純固實壓縮文件。如果固實數據大小小于你要壓縮的文件總大小,那么這些文件就會被切成一塊一塊來分別進行“固實壓縮”,每一塊的大小都是你寫的“固實數據大小”的大小, 固實壓縮對相像或相同的文件有奇效,相同的文件塊只要存儲一遍就可以了,這對于程序運行庫等有極好的壓縮效果,因為不同平臺運行庫都長得差不多
cpu線程數:就是你用于壓縮文件的cpu線程數,比如我寫4,就是4個邏輯處理器都干活,寫1就是只用1個,其他3個圍觀。這個參數不影響壓縮率,只是關系到壓縮的快慢。別以為這東西沒啥用,這可以保證你在壓縮的時候還能勉強看看視頻啥的,另外,越少的線程壓縮時占用的內存就越少,這可以讓你選擇更大的字典,達到更高的壓縮率
調整完以上參數后,就可以有比較令人滿意的壓縮效果了
另外,如果文件實在太大,可以使用“分卷壓縮”,不在此篇經驗的討論范圍
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!