Skip to content

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.