RE^4:javaで圧縮したZIPファイルが解凍できない
(
みやさか
)
2000/07/16 17:03
> 早速読ませて頂いておりますが、Javaで生成するアーカイブはLocal file headerの
> "local file header signature"範囲が504B0304となり既にアンマッチになってます。
(中略)
> 00000: 50 4B 03 04 14 00 08 00 08 00 E0 45 EF 28 00 00
> 00010: 00 00 00 00 00 00 00 00 00 00 08 00 00 00 74 65
> 00020: 73 74 2E 62 6D 70 EC D8 B1 0D 41 01 14 86 D1 AB
例の資料で、
> local file header signature 4 bytes (0x04034b50)
という表記は、該当する部分を little-endien 形式の 4バイト整数とみなして
整数化したときの値を表しています。よって、この部分は資料の記述と一致します。
ちなみに、ZIP ファイルヘッダの整数は、すべて little-endien 形式です。
それよりも、crc-32, compressed size, uncompressed size が 0 になっている
のが気にかかります。ZIP ファイルでは、シーク不可能な出力デバイスに
ZIP ファイルを出力する時のことも考慮されていて、この場合、以上の3つの値を
とりあえず 0 に設定しておいて、圧縮データの後にこれらの値を提示できるように
なっています。例の資料で、"Data descriptor" というのがそのためのヘッダです。
Lhasa では、この形式の ZIP ファイルに対応していない可能性がありますね。
--「RE^4:javaで圧縮したZIPファイルが解凍できない」に対するコメント--
タイトル(Subject):
お名前(Your name):
Mail address:
Password:
:入力しておくとあとで削除できます
Your message:
7thBridge P ver0.26 (c)Takechin