amzipはSusie for Win32用ZIP展開プラグインです。
Susieで使用する場合はSusieがインストールされているフォルダに、他のアプリケーションで使用する場合は、そのアプリケーションの指定の場所にamzip.spiをコピーしてください。
amzip.spiを削除してください。レジストリには一切書き込みません。
Windows 2000以降に対応しています。
ZIPファイルのヘッダのUTF-8ビットが1、またはversion made byがUNIXの場合、UTF-8からWindowsの文字コード(通常CP932)へ変換を試みます。 UTF-8ビットが0にもかかわらずUTF-8のファイル名が格納されていることも多いようなので、このような仕様にしてあります。 Mac OS Xの標準機能で作成したZIPファイルのversion made byは、UNIXになるようです。
UTF-8からWindowsの文字コードへの変換はUTF-16を経由します。 UTF-16への変換に失敗した場合、ファイル名はUTF-8では無いとみなして、格納されたファイル名をそのまま返します。
次に、UTF-16からWindowsの文字コードへ変換するとき、 Windowsの文字コードに対応の無い文字は"?"に置換されます。 "?"はWindowsではファイル名に使用できない文字のため、アプリケーションによっては動作に支障が出る可能性がありますが、変換に失敗していることを表すために、このような仕様にしてあります。
非公式Unicode版APIでは、ZIPファイルのヘッダのUTF-8ビットが1、またはversion made byがUNIXの場合はUTF-8、それ以外の場合はWindowsの文字コードとみなして、UTF-16に変換して返します。
プラグインAPIの仕様では、アーカイブファイル内のファイルの位置(オフセット値)に符号付き32ビットを使用しています。そのため通常の方法では2GBを超えるアーカイブファイルを扱えません。
この制限を回避するために、amzipではアプリケーションとやりとりするオフセット値を強制的に符号無し32ビットと見なして4GBまで扱えるようにしています。
2GBを超えるZIPファイルを読み込んだ場合、マイナスのオフセット値が渡されるので、アプリケーションによっては正しく動作しない可能性があります。
GetArchiveInfoW, GetFileWをエクスポートしています。
https://github.com/madler/zlib のソースをBorland C++ 5.5.1 for Win32でコンパイルして使用しています。
bug-XXXX@nk2.org (XXXXはamzipに置き換えてください)に送ってください。
Copyright (C) 2003-2024 Nobuyuki Honda
本ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。 本ソフトウェアの使用によって生じるいかなる損害についても、作者は一切の責任を負わないものとします。
以下の制限に従う限り、商用アプリケーションを含めて、本ソフトウェアを任意の目的に使用し、自由に改変して再頒布することをすべての人に許可します。
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: