ZLIB

Minizip: Zip and UnZip additionnal library

--

Click to download Minizip (zip/unzip) package for zLib version 1.01h, with minor bugfixes, or, better, 1.1 (with zip64 support).

This package enables to extract files from a .zip archive file. It is compatible with PKZip 2.04g, WinZip, InfoZip, MimarSinan Codex Suite 2002 tools, and compatible sofware.
It runs both under Linux and Windows, and probably other systems too. Encryption, multi-volume Zip files (span), and old compression methods used by old PKZip 1.x are not supported.
See appnote-011203-iz.zip or appnote-iz-latest.zip for the specification of ZIP format (or appnote-981119-iz.zip for older versions). Pkware provides also probdesc.zip and an HTML page with the specification.

What is Minizip (Zip/Unzip)?

The Zlib library allows to deflate compressed files and to create gzip (.gz) files. Zlib is free software and small.

An archive in ZIP format can contain several files compressed with this method, while a .gz archive can containt only one file. It is a very popular format, that is why I have written a package for reading files compressed within a Zip archive.

Zlib库可以压缩文件形成.gz文件。Zlib是一个小型的免费软件。ZIP格式的文件包含多个压缩的文件,当是.gz格式的文件只包含一个文件。ZIP是一个非常流行的格式,这就是为什么我在这里提供一个工具包来读ZIP文件。

How to get the Minizip package

You need the source code of Zlib (zlib125.zip or zlib-1.2.5.tar.gz. For previous version, get zlib114.zip, or by FTP zlib114.zip).
Now, with version 1.23,1.24,1.25 and 1.14 of zLib, the Minizip library is inlucded in the contrib/minizip directory.

In zlib125dll.zip there is the Win32 Windows DLL of my Windows DLL named Zlibwapi.dll that contains both zLib and Minilib.
For previous version, in zlib114dll.zip you will find Windows DLL (Win16 and Win32) and static library (Win32) of Zlib 1.14 WITH zip/unzip package.
Please note I have added in buildzlib114dll.zip the version of zip.c/unzip.c (0.21).
You must read zip.h and unzip.h, which contains the documentation of the zip and unzip functions.

March 2003: you can get version 0.21 with support of custom I/O functions to read and write zip files, and raw I/O (in order to duplicate files from one zip archive to another without uncompressing nor compressing). There is also a modified version of unzip with uncrypting, written by Terry Thorsen).
You can also get version 0.22e with crypting/uncrypting (do a #define NOCRYPT if you don't need it) and adding a file to an existing Zip archive.

15 March 2010: You can now download version 1.01h, with minor bugfixes, or, better, 1.1 with zip64 support.
Justin Fletcher wrote a very simple implementation of a memory access method for the ioapi code (ioapi_mem_c.zip). Ivan A. Krestinin wrote a small example of how delete a file from zip archive. This example is not fully tested (memory leaks are possible if the source archive is corrupt), but it might help you.

Unzipping files

The source code is made of only two files: unzip.h and unzip.c (plus ioapi.c and a few other include files). It uses the Zlib library.

miniunz.c is a very simple, but real unzip program. It can display files contained in a Zip archive or extract them.

源代码由两个部分组成:unzip.h和unzip.c(加入ioapi.c和一些其它文件),将会依赖Zlib库。miniunz.c是一个非常小解压缩实例程序,通过这个程序可以显示ZIP格式中的文件并解压缩。

Zipping files

The source code is made of only two files: zip.h and zip.c (plus ioapi.c and a few other include files). It uses the Zlib library.

minizip.c is a very simple, but real zip program.

源代码由两个部分组成:unzip.h和unzip.c(加入ioapi.c和一些其它文件),将会依赖Zlib库。miniunz.c是一个非常小解压缩实例程序。

A C++ Wrapper

Daniel Godson made a C++ wrapper to the zip/unzip library. Another can be found at Troels page.

A full MFC sample

In the CodeGuru developers site, there is an excellent example, 'Implementing a "Send as ZIP-File" command in Scribble' written by Stefan Kuhr. Unfortunately, this example is not built with the good, standard zLib DLL (see the DLL page). Download mapizip_demo_gooddll.zip for a fixed project which uses the good DLL.

Extension to Minizip

Troels K. worked hard on the Minizip library. He has made several add-on, including a proposal for unzAttach/unzDetach.

Other examples

Jukka Pihl wrote mod_ziplook Apache module. It enables to view zip archive files directly in Apache without extracting them to the filesystem. It also uses HTTP compression (supported by W3C, like Microsoft IIS, Apache mod_deflate and examples in python and jython. Bashuman Deb wrote a FTP paging Support for miniunz.

Miscellaneous

The Gilles vollant software forum contain a section about Minizip.

Please also email me for feedback.

Future of ZIP file format

It seems that the ZIP file format will changes. The web sites PCWorld (and this new article), IDG, SlashDot contain information about ZIP's future. PkWare site contains a new specification, InfoZip has also a ZIP specification. WinZip specifies also new encryption. The PKWare specification mentions a new BZip2 compression method (there is a "zlib-like" library for BZip2 compression).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值