| 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 |