liyujie
2025-08-28 b3810562527858a3b3d98ffa6e9c9c5b0f4a9a8e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
7-Zip method IDs for 7z and xz archives
---------------------------------------
 
Version: 18.06
Date: 2018-06-30
 
Each compression or crypto method in 7z is associated with unique binary value (ID).
The length of ID in bytes is arbitrary but it can not exceed 63 bits (8 bytes).
 
xz and 7z formats use same ID map.
 
If you want to add some new ID, you have two ways:
  1) Write request for allocating IDs to 7-Zip developers.
  2) Generate 8-bytes ID:
 
    3F ZZ ZZ ZZ ZZ ZZ MM MM 
 
    3F              - Prefix for random IDs (1 byte)
    ZZ ZZ ZZ ZZ ZZ  - Developer ID (5 bytes). Use real random bytes. 
                      
    MM MM           - Method ID (2 bytes)
 
    You can notify 7-Zip developers about your Developer ID / Method ID.
 
    Note: Use new ID, if old codec can not decode data encoded with new version.
 
 
List of defined IDs
-------------------
      
00 - Copy
 
03 - Delta
04 - BCJ (x86)
05 - PPC (big-endian)
06 - IA64
07 - ARM (little-endian)
08 - ARMT (little-endian)
09 - SPARC
 
21 - LZMA2
          
02.. - Common
   03 [Swap]
      - 2 Swap2
      - 4 Swap4
 
03.. - 7z
   01 - 
      01 - LZMA
  
   03 - [Branch Codecs]
      01 - [x86 Codecs]
         03  - BCJ
         1B  - BCJ2 (4 packed streams)
      02 - 
         05 - PPC (big-endian)
      03 - 
         01 - Alpha
      04 - 
         01 - IA64
      05 - 
         01 - ARM (little-endian)
      06 - 
         05 - M68 (big-endian)
      07 - 
         01 - ARMT (little-endian)
      08 - 
         05 - SPARC
 
   04 - 
      01 - PPMD
 
   7F -
      01 - experimental method.
 
 
04.. - Misc codecs
 
   00 - Reserved
 
   01 - [Zip]
      00 - Copy (not used. Use {00} instead)
      01 - Shrink
      06 - Implode
      08 - Deflate
      09 - Deflate64
      0A - Imploding
      0C - BZip2 (not used. Use {040202} instead)
      0E - LZMA (LZMA-zip)
      5F - xz
      60 - Jpeg
      61 - WavPack
      62 - PPMd (PPMd-zip)
      63 - wzAES
 
   02 - 
      02 - BZip2
 
   03 - [Rar]
      01 - Rar1
      02 - Rar2
      03 - Rar3
      05 - Rar5
 
   04 - [Arj]
      01 - Arj(1,2,3)
      02 - Arj4
 
   05 - [Z]
 
   06 - [Lzh]
 
   07 - Reserved for 7z
 
   08 - [Cab]
 
   09 - [NSIS]
      01 - DeflateNSIS
      02 - BZip2NSIS
 
   F7 - External codecs (that are not included to 7-Zip)
 
      0x xx - reserved
 
      10 xx - reserved (LZHAM)
         01 - LZHAM
 
      11 xx - reserved (Tino Reichardt)
         01 - ZSTD
         02 - BROTLI
         04 - LZ4
         05 - LZ5
         06 - LIZARD
 
      12 xx - reserverd (Denis Anisimov)
        
         01 - WavPack2
         FE - eSplitter 
         FF - RawSplitter
 
 
06.. - Crypto 
 
   F0 - Ciphers without hashing algo
 
      01 - [AES]
         0x - AES-128
         4x - AES-192
         8x - AES-256
         Cx - AES
 
         x0 - ECB
         x1 - CBC
         x2 - CFB
         x3 - OFB
         x4 - CTR
 
   F1 - Combine Ciphers
 
      01 - [Zip]
         01 - ZipCrypto (Main Zip crypto algo)
 
      03 - [RAR]
         02 - 
         03 - Rar29AES (AES-128 + modified SHA-1)
 
      07 - [7z]
         01 - 7zAES (AES-256 + SHA-256)
 
 
---
End of document