What's So Great About 7Zip?

It's Free

One of the best things about 7Zip is that it doesn't cost anything. Most people think it does because they know that programs like WinZip can be quite expensive. However, 7Zip is an open source program that allows you to zip and unzip documents at high speeds/compression ratios — and it doesn't cost you anything at all. Developped by Igor Pavlov, the 7Zip file compression software became the most popular file compression utility thanks to it's light-weight design, excellent compression ratios and cross-platform compatibility.

The 7z Archive Format

By default, 7Zip creates 7z format archives with a .7z file extension. Each archive can contain multiple directories and files. As a container format, security or size reduction are achieved using a stacked combination of filters. These can consist of pre-processors, compression algorithms, and encryption filters. The core .7z compression uses a variety of algorithms, the most common of which are bzip2, LZMA2, and LZMA. Developed by Igor Pavlov, LZMA is a relatively new system, making its debut as part of the 7z format. LZMA consists of a large LZ-based sliding dictionary up to 4 GB in size, backed by a range coder. All filenames are stored as Unicode. The official 7z file format specification is distributed with the program's source code.

Supported Formats

7Zip supports a number of other compression and non-compression archive formats including: Packing/unpacking of ZIP, gzip, bzip2, tar and, in betas for version 9, xz. Unpacking only: Microsoft cabinet (CAB) files, RAR, MSLZ, SWF, FLV, ARJ, Z, LHA, cpio, smzip, JAR, ISO CD/DVD images (7Zip version 4.42 and up), DMG, HFS, rpm and Debian deb archives. According to the 7-Zip website, since version 4.65 (from 2009-02-03), 7-Zip can unpack the following formats in addition to the formats it fully supports: ARJ, CAB, CHM, cpio, DEB, DMG, HFS, ISO, LZH, LZMA, MSI, NSIS, RAR, RPM, UDF, WIM, XAR and Z.

7Zip Features

7Zip supports many features, including:

Adding Support for 7z Anchives in an Application

One way is to use the 7z.dll or 7za.dll (available from sf.net for download). The 7za.dll works via COM interfaces. It, however, doesn't use standard COM interfaces for creating objects. You can find a small example in "CPP\7zip\UI\Client7z" folder in the source code. A full example is 7Zip itself, since 7Zip works via this dll also. There are other applications that use 7za.dll such as WinRAR, PowerArchiver and others.