to come open by means of a zipper
To decompress a zipfile
- Finnish: purkaa
The ZIP file format is a popular lossless data compression and archival format. A ZIP file contains one or more files that have been compressed, to reduce their file size, or stored as-is. A number of compression algorithms are permitted in zip files but as of 2008 only DEFLATE is widely used and supported.
The format was originally evolved by Phil Katz for PKZIP from the previous ARC compression format by Thom Henderson. However, many software utilities other than PKZIP itself are now available to create, modify, or open (unzip, decompress) ZIP files, notably WinZip, BOMArchiveHelper, KGB Archiver, PicoZip, Info-ZIP, WinRAR, IZArc, 7-Zip, ALZip, TUGZip, PeaZip, Universal Extractor and Zip Genius. Microsoft has included built-in ZIP support (under the name "compressed folders") in later versions of its Windows operating system. Apple has included built-in ZIP support in Mac OS X 10.3 and later via the BOMArchiveHelper utility.
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 in a specific structure. Generally when this is done a different file extension is used. Examples of this usage are Java JAR files, id Software .pk3/.pk4 files, package files for StepMania and Winamp/Windows Media Player skins, XPInstall, as well as OpenDocument and Office Open XML office formats. Both OpenDocument and Office Open XML formats use the JAR file format internally, so files can be easily uncompressed and compressed using tools for ZIP files. Google Earth makes use of KMZ files, which are just KML files in ZIP format. Mozilla Firefox Add-ons are zip files with extension "xpi". Nokia's mobile phone themes are zipped with extension "nth".
During the mid-1980s, System Enhancement Associates, a small company run by Thom Henderson, created a file archiving format called ARC, and a corresponding archiver (also called ARC) that could compress and decompress files into this format. This program was released as shareware, with the source code included. The file format quickly became a de facto standard. It also supports spreading archives across multiple removable disks (generally floppy disks, but it could also be used with other removable media).
New features including new compression and encryption (e.g. AES) methods have been added to ZIP in more recent times. WinZip developed AES based standard is used also by 7-Zip but some vendors use other formats. PKWARE SecureZIP uses another format that enables AES Encryption, Digital Certificate (X.509) Encryption, Filename Encryption and File Authentication.
The original ZIP format had a number of limits (uncompressed size of a file, compressed size of a file and total size of the archive) at 4GB. In version 4.5 of the specification, PKWARE introduced the "ZIP64" format extensions to get around these limitations.
The FAT filesystem of DOS only has a timestamp resolution of two seconds; ZIP file records mimic this. As a result, the built-in timestamp resolution of files in a ZIP archive is only two seconds, though extra fields can be used to store more accurate timestamps.
Since September 2007, the ZIP specification (APPNOTE.TXT) contains a provision to store file names using UTF-8, finally adding Unicode compatibility to ZIP.
The Info-ZIP implementations of the ZIP format adds support for Unix filesystem features, such as user and group IDs, file permissions, and support for symbolic links. The Apache Ant implementation is aware of them to the extent that it can create files with predefined Unix permissions.
The Info-ZIP Windows tools also support NTFS filesystem permissions, and will make an attempt to translate from NTFS permissions to Unix permissions or vice-versa when extracting files. This can result in potentially unintended combinations, e.g. .exe files being created on NTFS volumes with executable permission denied.
The format in detail
The ZIP file contents are files and directories which are stored in arbitrary order. The location of a file is indicated in the so called central directory which is located at the end of the ZIP file. The files and directories are represented by file entries.
Besides the file data each file entry is introduced by a local header with information about the file such as the comment, file size and file name. The central directory consists of file headers holding the relative offset of the local headers for each file.
Due to the arbitrary order and the fact that the order of the file entries and the corresponding header references in the central directory may be different the format is non-sequential.
Implementing a ZIP application
There are some useful development libraries which are available as open source contributions such as the GNU gzip project and Info-ZIP. For Java, the Java SE (Standard Edition) contains the package "java.util.zip"; Zip64File specifically supports large files (larger than 4GB) and treats ZIP files using random access, and the Apache Ant tool contains a more complete implementation released under the Apache Software License. There is also a no-cost .NET Library called DotNetZip available under a public license.
According to the PKWARE Inc. ZIP file format specification4 supports large files (more than 65000 entries and entries larger than 4GB). File encryption, and the possibility to span a ZIP file over multiple files are supported as well.
However, not all of these features are implemented by the known development libraries.
- Judgment in favor of SEA in SEA v. PKWARE and Phil Katz
- Technical specifications of the PKZIP file formats from info-ZIP
- Current file format specification from PKWARE (including many recent features that are not widely supported)
- 18 Years of ZIP format: Happy Birthday at The Data Compression News Blog
- Comparison of the performances of various methods of data compression (french)
- .NET Zip library - reads and writes zip archives.
- Archive and compressed file formats
- Archive and compressed file types
- ZIP2 file format specification
unzip in Czech: ZIP
unzip in Welsh: ZIP (fformat ffeil)
unzip in German: ZIP (Dateiformat)
unzip in Spanish: Formato de compresión ZIP
unzip in French: ZIP (format de fichier)
unzip in Indonesian: ZIP (format berkas)
unzip in Italian: ZIP (formato di file)
unzip in Luxembourgish: .zip
unzip in Dutch: ZIP (bestandstype)
unzip in Japanese: ZIP (ファイルフォーマット)
unzip in Korean: ZIP (파일 포맷)
unzip in Polish: ZIP
unzip in Portuguese: ZIP
unzip in Russian: ZIP
unzip in Slovenian: Datotečni format ZIP
unzip in Serbian: ZIP
unzip in Finnish: ZIP
unzip in Swedish: Zip
unzip in Turkish: Zip
unzip in Ukrainian: Zip
unzip in Chinese: ZIP (文件格式)