About 7-Zip Format¶
Description¶
For further information, please visit https://www.7-zip.org
7z is an archive format developed by Igor Pavlov, offering a high compression ratio and a range of features:
- Open architecture, allowing the integration of new compression methods.
- High compression ratio for efficient data storage.
- Strong AES-256 encryption for secure data protection.
- Support for files with sizes up to 16 exbibytes (2^64 bytes).
- Unicode file name support for international character sets.
- Solid compression, which improves performance by treating multiple files as a single data block.
- Compressed archive headers to minimize the overall archive size.
The following methods are integrated into 7z:
Method | Description |
---|---|
LZMA | An enhanced version of the LZ77 algorithm with high compression ratios. |
LZMA2 | Improved LZMA variant offering better multithreading support. |
PPMD | Dmitry Shkarin's PPMdH algorithm with minor modifications. |
BCJ | A converter for 32-bit x86 executables. |
BCJ2 | An advanced converter for 32-bit x86 executables. |
BZip2 | Uses the Burrows-Wheeler Transform algorithm for compression. |
Deflate | A standard algorithm based on LZ77 and Huffman coding. |
Additional filters supported by 7z include:
Filter | Description |
---|---|
ARM | A converter for 32-bit ARM executables. |
ARM64 | A converter for ARM64 executables. |
PPC | A converter for PowerPC executables. |
SPARC | A converter for SPARC executables. |
IA64 | A converter for IA-64 (Itanium) executables. |
Delta | A converter for multimedia data, such as WAV files. |
LZMA is the default compression method for the 7z format, with the following characteristics:
- High compression ratio.
- Variable dictionary size (up to 4 GB).
- Compression speed of about 1 MB/s on a 2 GHz CPU.
- Decompression speed ranging from 10 to 20 MB/s on a 2 GHz CPU.
- Low memory requirements for decompression, depending on dictionary size.
- Small decompression code size (around 5 KB).
- Support for multithreading and hyper-threading technologies.
The LZMA compression algorithm is highly suitable for embedded applications. Developers interested in using LZMA can access the LZMA SDK, which provides C++ source code for both the LZMA encoder and decoder.
External links for developers:
Technical Notes¶
The 7-Zip compression system in Paquet Builder is based on 7-Zip and LZMA SDK 24.09.
7-Zip Self-Extractors created with Paquet Builder support the LZMA2, LZMA and BCJ/BCJ2 compression methods, ensuring optimal compression ratios. However, BZip2 and Deflate methods are not supported, as the other methods provide sufficient performance and efficiency.