設置 Deflate 編碼器的單詞大小。您可以在 3 到 255 範圍之內更改。在 Deflate 算法下,它的默認值是 32;在 Deflate 64 算法下,它的默認值是 64。如果要壓縮的多個文件中,有很多排列相同的字節,比如說內容及格式極為相同的兩個純文本文檔,那麼在壓縮的時候如果有較大的單詞大小,將會在一定程度上提高壓縮比。所以,通常情況下,其數量越大,壓縮後的文件就會越小。但是在壓縮和解壓縮的時候會比較慢而且需要較多的物理內存。
設置 Deflate 編碼器的傳送大小。您可以在 1 到 4 範圍之內更改。在 Deflate 算法下,它的默認值是 1;在 Deflate 64 算法下,它的默認值是 3。此項可略微提升壓縮比,但並不明顯。
開啟或關閉固實模式。此選項的默認值是 s=on。開啟或關閉固實壓縮文件模式。在創建固實壓縮文件模式中,它把壓縮文件中的所有文件都當成一個連續數據流來看待。通常情況下,固實壓縮可增加壓縮比,特別是在添加大量小文件的時候。
e
為每一種文件擴展名使用單獨的固實數據流
{N}f
設置在一個固實數據流種文件的個數
{N}b | {N}k | {N}m | {N}g
設置固實數據流的大小(字節)
設置固實模式使每個固實數據流種最多 100 文件,並且最大 10 MB 。
f=[off | on]
開啟或關閉可執行文件壓縮過濾器:dll、exe、ocx、sfx、sys。它用於 BCJ2 過濾器(使用極限壓縮)及 BCJ 過濾器中。此選項的默認值是 f=on.
hc=[off | on]
開啟或關閉文件頭壓縮。此選項的默認值是 hc=on。如果開啟文件頭壓縮,一部分文件的文件頭將使用 LZMA 算法進行壓縮。
hcf=[off | on]
開啟或關閉文件頭完全壓縮。此選項的默認值是 hcf=on。如果開啟文件頭完全壓縮,那麼此壓縮文件只有好壓2.30 beta 25 及更高的版本才能支持。
he=[off | on]
開啟或關閉文件頭加密。此選項的默認值是 he=off。
{N}
設置算法的順序。它被用作算法關聯參數。最小值為 0。含有從號的算法將被首先使用。
b{C1}[s{S1}]:{C2}[s{S2}]
將以 C1 編碼器編碼的輸出流 S1 與以 C2 編碼器編碼的輸入流 S2 綁定,如果數據流序號未被指定,默認的數據流序號為 S0。
通常情況下,編碼器有一個輸入流及一個輸出流。而在好壓中,一些編碼器有多個輸入及輸出流。
舉個例子,BCJ2 編碼器有一個輸入流及四個輸出流。
mt=[off | on]
開啟或關閉多線程壓縮模式。在多線程支持模式中,好壓將使用兩個線程來進行壓縮。這樣的話,對於多處理器系統,那麼壓縮速度將提升 70-80%。對於 Pentium 4 超線程處理器,壓縮速度將提升 25% 左右。但解壓縮時只使用單獨線程。注意!此選項僅對 LZMA 壓縮算法有效。
{N}={MethodID}[:param1][:param2] ... [:paramN]
設置壓縮算法。在7z格式中,您可以使用許多壓縮算法。此選項的默認算法是 LZMA。
此參數必須是下列格式中的任意一種:
{ParamName}={ParamValue}。
{ParamName}{ParamValue},{ParamValue} 是一個數值,並且 {ParamName} 中不包含數字。
支持的壓縮算法:
MethodID
說明
LZMA
基於 LZ 之上的壓縮算法。
PPMd
基於 Dmitry Shkarin 之上的算法 PPMdH 並加以優化。通常能對純文本提供高壓縮比及較快的解壓縮速度。
BZip2
基於 BWT 的標準壓縮算法。通常能對純文本提供較高壓縮比及相當不錯的解壓縮速度。
Deflate
ZIP 及 GZip 格式的標準壓縮算法。沒有很高的壓縮比。但是它擁有十分快的壓縮及解壓縮速度。Deflate 壓縮算法只支持 32 KB 字典大小。
BCJ
(CALL、JUMP)32 位 x86 可執行文件轉換器。
BCJ2
(CALL、JUMP、JCC)32 位 x86 可執行文件轉換器(第二版)。
Copy
不壓縮。
LZMA
LZMA 是基於 Lempel-Ziv(由以色列數學家 A.Lempel 和 J.Ziv 共同開發的壓縮算法)之上的壓縮算法。它能提供相當快的解壓縮速度(約比壓縮快 10 到 20 倍)。對內存的需求也不盡相同(詳細信息請參見 d={Size}[b|k|m] 選項)。
參數
默認值
說明
a=[0|1|2]
1
設置壓縮等級
d={Size}[b|k|m]
20
設置字典大小
mf={MF_ID}
bt4
設置匹配器
fb={N}
32
設置緊縮字節數量
lc={N}
3
設置 Literal Context 塊數 - [0, 8]
lp={N}
0
設置 Literal Pos 塊數 - [0, 4]
pb={N}
2
設置 Pos 塊數 - [0, 4]
a=[0|1|2]
設置壓縮等級:0=快速、1=正常、2=最大壓縮。默認值為 1。
d={Size}[b|k|m]
設置 LZMA 壓縮算法的字典大小。您可以使用字節、KB 或 MB 來指定此項。字典大小的最大值為 256 MB=2^28 字節。正常模式下,LZMA 的字典大小默認值為 21(2 MB) ;最大模式(-mx=7)下為 23(8 MB);極限模式(-mx=9)下為 25(32 MB)。如果您未指定 [b|k|m] 項,字典大小將自動根據壓縮等級來選擇相應的單位。對於 LZMA 算法的文件解壓縮,若壓縮文件的字典大小為 64 MB,則解壓縮時就需要 64 兆可用的物理內存。
mf={MF_ID}
設置 LZMA 壓縮算法的匹配器。默認算法為 bt4。bt* 類的算法所需的內存比 pat* 類所需的內存少。通常情況下 bt4 的工作速度比 pat* 快得多,然而部分文件格式在 pat* 算法中可以工作得很快。hc* 類算法並沒有很好得壓縮比,但是它與快速模式(a=0)結合使用通常會工作得相當快。所需內存依字典大小而定(參見下表)。
MF_ID
所需內存
說明
bt2
d×9.5 + 1 MB
二進位樹;2 散列字節。
bt3
d×9.5 + 65 MB
二進位樹;2-3(完整) 散列字節。
bt4
d×9.5 + 6 MB
二進位樹;2-3-4 散列字節。
bt4b
d×9.5 + 34 MB
二進位樹;2-3-4(大) 散列字節。
pat2r
d×26 + 1 MB
Patricia 樹;2-位節點;可移動。
pat2
d×38 + 1 MB
Patricia 樹;2-位節點。
pat2h
d×38 + 77 MB
Patricia 樹;2-位節點;2-3 散列字節。
pat3h
d×62 + 85 MB
Patricia 樹;3-位節點;2-3 散列字節。
pat4h
d×110 + 101 MB
Patricia 樹;4-位節點;2-3 散列字節。
hc3
d×5.5 + 1 MB
Hash Chain;-3 散列字節。
hc4
d×5.5 + 6 MB
Hash Chain;2-3-4 散列字節。
注意:作業系統同樣需要一部分物理內存來維持系統得正常運行。所以至少要剩餘 32 可用物理內存。
fb={N}
設置 LZMA 壓縮算法的單詞字節。有效範圍從 5 到 273。正常模式下默認值為 32;最大模式下為 64 。通常情況下,較大的數值能略微提高壓縮比。但同時也會降低壓縮速度。
lc={N}
設置 Literal Context 位數。有效範圍從 0 到 8。默認值為 3。有時壓縮文件中含有大文件會自動使用 lc=4。
lp={N}
設置 Literal Pos 位數。有效範圍從 0 到 4。默認值為 0。
pb={N}
設置 Pos 位數。有效範圍從 0 到 4。默認值為 2。
PPMd
PPMd 是 PPM-based 壓縮算法的簡寫。它基於 Dmitry Shkarin 的算法 PPMdH 並對其原始碼加以優化。PPMd 通常能對純文本提供高壓縮比及較快的解壓縮速度。壓縮和解壓縮的速度完全相同,所需的內存大小也一樣。
參數
默認值
說明
mem={Size}[b|k|m]
24
設置 PPMd 算法使用內存。
o={Size}
6
設置 PPMd 算法壓縮命令。
mem={Size}[b|k|m]
設置 PPMd 算法使用的內存多少。您可以使用字節、KB 或 MB 來指定此項。最大值為 2 GB=2^31 字節;默認值為 24(16MB)。如果您未指定 [b|k|m] 項,字典大小將自動根據壓縮等級來選擇相應的單位。PPMd 在壓縮和解壓縮時所需的內存大小是相同的。
o={Size}
設置 PPMd 算法壓縮命令。其大小必須在 [2,32] 範圍內。默認值為 6。
BCJ2
BCJ2 是 32 位 x86 可執行文件轉換器(第二版)。它通過轉換分支指令來對文件進行進一步壓縮。
BCJ2 編碼器有一個輸入流和四個輸出流:
s0:主流。需要被進一步壓縮。
s1:CALL 值轉換流。需要被進一步壓縮。
s2:JUMP 值轉換流。需要被進一步壓縮。
s3:服務流。它已經備壓縮過。
如果使用 LZMA 壓縮算法,s1 及 s2 流的字典大小可以比 s0 流的小很多(大多數情況下 512 KB 足夠了)。
示例
HaoZipC a -tzip archive.zip *.jpg -mx0
不壓縮而直接將 *.jpg 文件添加到 archive.zip 文件。
HaoZipC a -t7z archive.7z *.exe *.dll -m0=BCJ -m1=LZMA:d=21 -ms -mmt
添加 *.exe 及 *.dll 文件到固實壓縮文件 archive.7z。使用 LZMA 壓縮算法、2 MB 字典大小及 BCJ 轉換器。壓縮將開啟多線程優化(如果可用)。
HaoZipC a -t7z archive.7z *.exe *.dll -m0=BCJ2 -m1=LZMA:d23 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3
使用 BCJ2 轉換器添加 *.exe 及 *.dll 文件到壓縮文件 archive.7z。主輸出流(s0)使用 LZMA 壓縮算法且 8 MB 字典大小, BCJ2 轉換的輸出流 s1 及 s2 使用 LZMA 壓縮算法且 512 KB 字典大小。
HaoZipC a -t7z archive.7z *.txt -m0=PPMd
添加 *.txt 文件到壓縮文件 archive.7z。 使用 PPMd 壓縮算法。
可以和此選項結合使用的命令
a (添加), d (刪除), u (更新)
其它
選項: -t (設置壓縮文件格式)