[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
≪ ZIPファイル構造 - zip64 | | HOME | | その鮮やかなオレンジ、コチニール ≫ |
ようやく前回の続きでZIPファイル構造の第2回まとめです。ってまだアウトラインから抜け出せないorz。仕様書の1%くらいの範囲を訳したり感じ取ったりしながら進めてます。正確さは保証しません(笑)。
ファイル構成はこんな感じ
[local file header 1] [file data 1] [data descriptor 1]
...
[local file header n] [file data n] [data descriptor n]
[archive decryption header]
[archive extra data record]
[file header 1] ... [file header n] [digital signature]
[zip64 end of central directory record]
[zip64 end of central directory locator]
[end of central directory record]
ちなみに[file header 1] ... [digital signature]部分が[central directory]のこと。
シグネチャから作ったと思われる例の造語表現だとこうかな
PK0304 = [local file header]
PK0708 = [data descriptor]
PK0608 = [archive extra data record]
PK0102 = [file header]
PK0505 = [digital signature]
PK0606 = [zip64 end of central directory record]
PK0607 = [zip64 end of central directory locator]
PK0506 = [end of central directory record]
現在主流のZIPファイルはおおむね初期の構造で
[local file header 1] [file data 1] ... [local file header n] [file data n]
[file header 1] ... [file header n]
[end of central directory record]
という、まぁ3層構造になってます。この辺の詳細は適当検索で発見できる。
[data descriptor]は、まず使われない幻の機能。
[archive decryption header] [archive extra data record] [digital signature]は、ver.6.2で導入(強い暗号化のcentral directory関係)。
[zip64 end of central directory record] [zip64 end of central directory locator]は、よくわからないがzip64が登場したver.4.5以降だよ、きっと。この2つは[end of central directory record]を拡張するために使う。
[local file header] [file header]でzip64拡張をしたい場合、その値をextra fieldに書き込む。
ディスク分割のときのファイル名は
[filename.z01] [filename.z02] ... [filename.z(n-1)] [filename.zip]
分割セグメントに対して最後の1個を除くセグメントには通し番号を含む拡張子が付き、最後のセグメント([end of central directory record]を含むセグメント)のみ通常の拡張子(.zip)になる…でいいのかなぁ?。
≪ ZIPファイル構造 - zip64 | | HOME | | その鮮やかなオレンジ、コチニール ≫ |