ZIP (file format) |
The ZIP file format is a popular data compression and file archiver file format. A ZIP file contains one or more files that have been compressed or stored.
The format was originally designed by Phil Katz for PKZIP. However, many software utilities other than PKZIP itself are now available to create, modify or open ZIP files, notably WinZip, PicoZip, Info-ZIP, WinRAR and 7-Zip. Microsoft has also included minimal ZIP support (under the name compressed folders ) in later versions of its Microsoft Windows operating system.
ZIP files generally use the file extensions .zip or .ZIP and the MIME media type application/zip. Some software uses the ZIP file format as a wrapper for a large number of small items. Generally when this is done a different file extension is used. Examples of this usage are Java programming language Jar (file format) files, package files for StepMania and Winamp, and some OpenOffice.org document formats. The OpenDocument format is usually sent as a Jar file, so it can be easily uncompressed and compressed using tools for ZIP files.
= Technical information =
ZIP is a fairly simple archive format that compresses every file separately. Compressing files separately allows for individual files to be retrieved without reading through other data; in theory, it may allow better compression by using different algorithms for different files. However a caveat to this is that archives containing a large number of small files end up significantly larger than if they were compressed as a single file (the classic example on Unix-like systems is the common Tar (file format) archive which consists of a Tar (file format) archive compressed using Gzip).
The specification for ZIP indicates that files can be stored either uncompressed or using a variety of compression algorithms. However, in practice, ZIP is almost always used with Phil Katz DEFLATE (algorithm) Algorithm.
ZIP supports a simple password based symmetric encryption system which is known to be seriously flawed; being susceptible to known-plaintext attack, dictionary attack and brute force attack. It also supports spreading archives across multiple removable disks (generally Floppy disk, but it could also be used with other removable media).
New features including new compression and encryption methods have been added to ZIP in more recent times, but these are not supported by many tools and are not in wide use.
Compression methods
The size for comparison figures were made using the contents of ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2 and maximum compression.
: size for comparison for deflate 52.1 MiB (tested with pkzip for Windows, version 8.00.0038) : size for comparison for enhanced deflate 51.8 MiB (tested with pkzip for Windows, version 8.00.0038)
: size for comparison 61.6 MiB (tested with pkzip for windows Version 8.00.0038 with binary mode selected)
: size for comparison 50.6 MiB (tested with pkzip for Windows, version 8.00.0038)
= History =
== Early history ==
The ZIP file format was originally created by Phil Katz, founder of PKWARE. Katz publicly released technical documentation on the ZIP file format, along with the first version of his PKZIP archiver, in January 1989.
An earlier compression and archival program, ARC, was distributed not only as the executable software, but also its C programming language source code. Katz had copied ARC and converted the compression routines from C to optimised Assembler code, which made it much faster. SEA initially tried to license Katz s archiver, called PKARC, but Katz refused. SEA then sued Katz for copyright infringement and won.
During settlement, Katz still refused to license PKARC to SEA, instead agreeing to pay SEA s legal fees and stop selling PKARC. He then went on to create his own file format, and the .ZIP format he designed was a much more efficient compression format than .ARC. Once the PKZIP software was released, many users abandoned .ARC because of its slower performance and because Katz had successfully convinced them that he was the good guy who was being unfairly treated by an evil corporation.
The name zip (meaning speed ) was suggested by Katz s friend Robert Mahoney. They wanted to imply that their product would be faster than ARC and other compression formats of the time. It is frequently named in all capitals as ZIP for historical reasons, because filenames in DOS were usually represented in all uppercase (due to the non-case-preserving nature of the File Allocation Table that DOS used).
== Moving beyond the command line ==
In the mid 1990s, as more new computers included graphical user interfaces, there were more users who were not comfortable with the Command line operation of PKZIP. Seeing an opportunity, shareware authors began pitching compression and archival programs with graphical user interfaces. Many of these used the ZIP format. WinZip was among the most popular. PKWare (Katz s company) also offered a graphical version of PKZip. These graphical compression programs were easier to learn to use than the older command-line equivalents, but they still required learning an additional program and an additional interface just for compression.
In the late 1990s, various file manager software products started integrating support for the ZIP format into the file manager user interface. The KDE file manager (kfm) supported this very early, and support was also added to Windows Explorer (as of Windows Me and Windows XP), the Mac OS Finder (as of Mac OS X), the Nautilus file manager used with GNOME, the Konqueror file manager used with newer versions of KDE, and others. By 2002, all major desktop environments included ZIP file support in their file managers. Typically, in any modern file manager, a ZIP file may be treated as a directory or folder, so that files are copied into and out of it in the same manner as any other folder; the compression is handled in a way that is largely transparent to the end user. This eliminates the need for the user to learn to use a program and an interface just for the purpose of compression and archival, since the same interface can be used as for regular file management.
=See also=
*List of archive formats
=External links=
|
|