offset |
内容 |
説明 |
00 |
先頭の2バイトを除いた基本ヘッダのバイト数。
サンプルでは 0x1D(29)となる。
(基本ヘッダ全体のサイズ: 31 - 先頭の2バイト:2 )
|
01 |
先頭の2バイトを除いた基本ヘッダの各バイトの合計値の下位1バイトの値。
サンプルでは 0xFF となる。
(先頭2バイトを除いた基本ヘッダの各バイトの合計値 0x05FF)
|
02 |
圧縮法識別子(1)
|
圧縮法を識別するための文字列。
文字列は "-???-" のフォーマット(第1バイトと第5バイトは '-'で固定であり、
5バイトの文字列 であること) に従う。
サンプルでは無圧縮を示す "-lh0-" となる。
|
03 |
圧縮法識別子(2)
|
04 |
圧縮法識別子(3)
|
05 |
圧縮法識別子(4)
|
06 |
圧縮法識別子(5)
|
07 |
スキップサイズ(LL)
|
全拡張ヘッダのサイズとファイルの圧縮後のサイズとの合計。
このような変則的な値を使用することにより古い実装系でも
書庫のリスト表示ができる。
サンプルでは 0x0000000D (13) となる。
( 圧縮後のサイズ:0 + 全拡張ヘッダの合計:13 )
|
08 |
スキップサイズ(LH)
|
09 |
スキップサイズ(HL)
|
10 |
スキップサイズ(HH)
|
11 |
オリジナルサイズ(LL)
|
ファイルの圧縮前のサイズ。
サンプルでは 0x00000000 となる。
|
12 |
オリジナルサイズ(LH)
|
13 |
オリジナルサイズ(HL)
|
14 |
オリジナルサイズ(HH)
|
15 |
最終更新時刻(L)
|
MS-DOS形式のファイルの最終更新時刻。
ローカルタイムである事に注意する事。
サンプルでは 16時 30分 20秒となる。
|
16 |
最終更新時刻(H)
|
17 |
最終更新日付(L)
|
MS-DOS形式のファイルの最終更新日付。
ローカルタイムである事に注意する事。
サンプルでは 2002年 7月 7日となる。
|
18 |
最終更新日付(H)
|
19 |
予約領域
|
MS-DOSの属性で普通のファイルを示す 0x20。
|
20 |
ヘッダレベルを示す 0x01。
|
21 |
ファイル名の長さ
|
続いて格納されるファイル名のバイト数。
サンプルでは 4 となる。
|
22 |
ファイル名(1)
|
ファイル名を示す文字列を格納する。
ファイル名の長さが下記の文字数制限を超える場合は
この領域を空にして、ファイル名ヘッダを使用する。
サンプルでは "test" となる。
|
?? |
…
|
21+長さ |
ファイル名(終端)
|
22+長さ |
ファイルのCRC(L)
|
圧縮前のファイルのCRC16値。
サンプルでは 0x0000 となる。
|
23+長さ |
ファイルのCRC(H)
|
24+長さ |
OS識別子
|
このエントリを圧縮したOSの識別子。
サンプルでは Java を示す 'J'(0x4A) となる。
|
25+長さ |
拡張領域(1)
|
任意の情報を格納する領域。
このサンプルには この領域は存在しない。
|
?? |
…
|
サイズ-3 |
拡張領域(終端)
|
サイズ-2 |
続く拡張ヘッダのバイト数。
続く拡張ヘッダが無ければ 0 が格納される。
サンプルでは 0x0005 となる。
|
サイズ-1 |