[爆卦]7-Zip 參數錯誤是什麼?優點缺點精華區懶人包

為什麼這篇7-Zip 參數錯誤鄉民發文收入到精華區:因為在7-Zip 參數錯誤這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者vintw (陽光好青年)看板EZsoft標題Re: [請益] 7-zip的"字典大小&...


※ 引述《debeers (DeBeers)》之銘言:
: 7-zip在壓縮檔案時有"字典大小"和"字組大小"這二項可以選擇
: 我google一下只知道"字典"的功用是用來比對資料用的,字典大小
: 越大的話佔用的記憶體越多,但是找不到它到底有什麼功用?
: 字典越大可以減少壓縮時間嗎?還是增加壓縮率??
: 而關於"字組"我就完全找不到資料了..
: 7-zip官網上也沒有相關資料
: 可以麻煩知道的人簡略的說一下這二項的功能嗎? 謝謝!

我要先聲明一件事,我的專長不是在資料壓縮這個領域
所以下面的說明可能有錯誤或是不精準還請見諒,並請強者幫忙補完XD

字典(dictionary)和字組(word)指的是字典編碼法中的兩個核心的參數
7-zip的核心就是字典編碼法的一種
字典編碼法就是,我把"常常出現的字"用"比較短的方法"記錄下來
因為常出現的字變短了就可以達到壓縮資料的動作

舉個例子好了,如果我要壓縮下面這一段文章

: ptt有一個小軟體板,小軟體板很棒,小軟體板值得推薦
: 看小軟體板長知識,,小軟體板很好很強大,小軟體板眾都是好人
: 我的最愛中一定有小軟體板,小軟體板榮光長存!小軟體板萬歲!

那麼假設我有一本"字典",裡面有"小軟體板"這個詞,正好是字典的第一個字
那我就可以把文章改寫成

: ptt有一個$1,$1很棒,$1值得推薦
: 看$1長知識,,$1很好很強大,$1眾都是好人
: 我的最愛中一定有$1,$1榮光長存!$1萬歲!

文章就變短了,所以就有壓縮的作用
當然,在你把檔案傳給他人時,字典本身也要想辦法給過去
這個例子離實用還很遠,但是可以了解其精神

一般來說,字典編碼法裡面的"字"都不是真的字典裏面的字
而大部分演算法的"字典"本身也不是固定的,會隨著輸入資料而動態改變
如果有任何字被字典所查到,那就可以被取代成較短的字串

裡面的字典大小,就是指的是這本"字典"的大小
理所當然,越大的字典越能存更多的字,所以命中率越高,壓縮比越可能提升
雖然字典越大也會帶來一些副作用,例如查字典的時間可能會變長等等

依照個人的經驗,字典大到一定程度之後,壓縮比的提升就微乎其微了

而字組大小(word size)指的就是字典裏面一個字的大小
在字典的大小固定的狀況下,一個字越長,字典可以存的字也就越少
所以字組大小不見得和壓縮比有正相關,所以不是越大愈好

如果要壓縮的資料是特定格式,字組大小的設定可以大幅度的提高壓縮比
但是在一般通用的狀況下,隨意改大不見得會有較好的效果

--
CPU: Intel PIII EB 800MHz (Coppermine) / MB: ACER S58M(i815)
RAM: Apacer PC133 256MB*2 / VGA: Gigabyte ATi 9000pro 64MB DDR
CD-RW: LiteOn LTR-52327S / DVD-RW: BenQ DW1640
HDD: Seagate 7200.7 80G*2 / PSU: AcBel 350W / Case: iCute不知名

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.4.217
Rhymer:word size有限制嗎? 05/17 18:22
Rhymer:字典太大有時後壓縮效果反而會變差 05/17 18:24
mosquito520:因為牽涉到字典本身是可變動的... 05/17 19:09
mosquito520:你根據一個檔案產生出字典...自然要把字典給對方才能 05/17 19:09
mosquito520:解壓縮...所以字典大小也會佔用一定的空間... 05/17 19:10
mosquito520:其實...內建的設定不是就很堪用了嗎= =??? 05/17 19:10
Rhymer:字典可以在收發兩端即時建立,不需要傳送.例如LZW演算法. 05/17 20:24
mosquito520:即時建立那就不是我提到的可變動的字典了... 05/17 23:34
debeers:很詳細的解說!! 謝謝!! ^^b 05/18 01:01
vixen:推你的電腦配備!!! 05/18 09:25
mizukiyun:那結實區塊大小呢?感謝! ^^ 02/22 13:11

你可能也想看看

搜尋相關網站