Libzip


libzip is an open source library for handling zip archives. It is written in portable C and can thus be used on multiple operating systems. It is based on zlib. It is used by PHP's for zip file support and MySQL Workbench. It is also used by KDE's ark archiving tool for zip archive support.

Notable features

libzip supports reading and writing zip archives. In particular, it allows extracting single or multiple files and querying their attributes. For writing, it allows replacing files or adding new ones; the data can come from buffers, files, or even other zip archives. Extra field data and comments can be added, modified, or deleted. All changes are finalized when closing the archive, so the on-disk archive is always self-consistent.
The zip64 extension for large files is also supported. Version 1.2.0 added support for encryption and decryption using AES, while version 1.3.0 added support for compression using bzip2. Version 1.7.0 added support for traditional PKWARE encryption.
When opening existing archives, a strict consistency check can be requested.
libzip is written in C but can be used from C++.
Since version 1.1, libzip contains ziptool, a tool for modifying zip archives from the command line.