Search notes:

ZIP File

A zip file stores the losslessly compressed data of one or more files, including their directory (path) information.

Compression methods

The data in a zip file can be compressed in a variety of compression methods:
The deflate algorithm is also used for gzip (RFC 1952) and ZLIB (RFC 1950).

Deflate64

Deflate64 (compression method 9) a proprietary format that was developed by PKWare, the inventor of the zip file format.
Apparently, it's not possible to expand zip files in that format in Python easily (see shutil.unpack_archive or PowerShell (expand-archive).

Create or extract zip files on the command line

zip is a Unix/Linux tool to create zip files in a Linux/Unix shell
The PowerShell command noun archive has the two verbs compress-archive and expand-archive.
7-Zip is a free open source software to create archives. With its command line version 7z.exe, its possible to manage zip files on a Windows command line.
The Windows Resource Kit tool compress.exe.
The Perl modules Archive::Zip and IO::Compress::Zip allow to create Perl scripts that create zip solutions with some program-logic.
In the SAS system, there is the statement filename zip

Non-ASCII file names

The ZIP file specification does not specify a standard way of encoding filenames with non-ASCII characters.

Info-ZIP

Info-ZIP is an implementation of the zip file format that adds support for
When extracting an info-zip file, that was created on Unix, on Windows, or vice versa, an attempt is made to translate NTFS permissions from/to Unix permissions. Apparently, this might lead to issues.

Magic number

A zip file (and some other formats that are based on it) has as its first two bytes the letters PK (hex: 50 and 4B) followed by 0304, 0506 or 0708.
PK stands for the initials of the creator of the zip file format: Phil Katz.

Mime type

The MIME type of a zip file is application/zip.

See also

The .NET class System.IO.Compression.ZipFile with this PowerShell function that allows to selectively add files from a file system tree.
In a Windows console (cmd.exe or PowerShell), a zip file can be unzipped with tar.exe.
Python: shutil.unpack_archive is able to extract the content of a zip file (if it is not using compression type 9 (Deflate64/Enhanced Deflate)).
The built-in function zip has nothing to do with zip files!
SQLite has a archive mode that allows to create zip-like SQLite databases.
archive files
The vim plugin zipPlugin.vim
zipfldr.dll, zipcontainer.dll
There are quite a number of file types that are stored in zip files, such as .dacpac, .jar, .nupkg, .xpi and all Office files whose extensions match .*x (for example .docx) and *m (for example .xlsm).
The PowerShell module zip
The Oracle PL/SQL package zipper

Links

APPNOTE.TXT: ZIP File Format Specification

Index