offset | 共通ヘッダ level 1 or 2 付加情報無し |
共通ヘッダ level 3 付加情報無し |
共通ヘッダ level 1 or 2 (UNLHA、Unix) 付加情報有り |
共通ヘッダ level 3 (UNLHA、Unix) 付加情報有り |
共通ヘッダ level 1 or 2 (OS/2) 付加情報有り |
共通ヘッダ level 3 (OS/2) 付加情報有り |
offset |
00 | 拡張ヘッダ 識別子 |
拡張ヘッダ 識別子 |
拡張ヘッダ 識別子 |
拡張ヘッダ 識別子 |
拡張ヘッダ 識別子 |
拡張ヘッダ 識別子 |
00 |
01 | ヘッダ全体の CRC(L) |
ヘッダ全体の CRC(L) |
ヘッダ全体の CRC(L) |
ヘッダ全体の CRC(L) |
ヘッダ全体の CRC(L) |
ヘッダ全体の CRC(L) |
01 |
02 | ヘッダ全体の CRC(H) |
ヘッダ全体の CRC(H) |
ヘッダ全体の CRC(H) |
ヘッダ全体の CRC(H) |
ヘッダ全体の CRC(H) |
ヘッダ全体の CRC(H) |
02 |
03 | 次拡張ヘッダ サイズ(L) |
次拡張ヘッダ サイズ(LL) |
付加情報 | 付加情報 | 付加情報(1) | 付加情報(1) | 03 |
04 | 次拡張ヘッダ サイズ(H) |
次拡張ヘッダ サイズ(LH) |
次拡張ヘッダ サイズ(L) |
次拡張ヘッダ サイズ(LL) |
… | … | ?? |
05 | 次拡張ヘッダ サイズ(HL) |
次拡張ヘッダ サイズ(H) |
次拡張ヘッダ サイズ(LH) |
… | 付加情報(終端) | サイズ-5 | |
06 | 次拡張ヘッダ サイズ(HH) |
次拡張ヘッダ サイズ(HL) |
… | 次拡張ヘッダ サイズ(LL) |
サイズ-4 | ||
07 | 次拡張ヘッダ サイズ(HH) |
付加情報(終端) | 次拡張ヘッダ サイズ(LH) |
サイズ-3 | |||
08 | 次拡張ヘッダ サイズ(L) |
次拡張ヘッダ サイズ(HL) |
サイズ-2 | ||||
09 | 次拡張ヘッダ サイズ(H) |
次拡張ヘッダ サイズ(HH) |
サイズ-1 |
+0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +A | +B | +C | +D | +E | +F | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | ||
0x0000 | 2E | 00 | 2D | 6C | 68 | 30 | 2D | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 0C | . | . | - | l | h | 0 | - | . | . | . | . | . | . | . | . | ||
0x0010 | EE | 27 | 3D | 20 | 02 | 00 | 00 | 4A | 05 | 00 | 00 | CF | 4F | 07 | 00 | 01 | î | ' | = | . | . | J | . | . | Ï | O | . | ||||||
0x0020 | 74 | 65 | 73 | 74 | 08 | 00 | 02 | 74 | 65 | 73 | 74 | FF | 00 | 00 | -- | -- | t | e | s | t | . | t | e | s | t | ÿ | . | . | - | - |
拡張ヘッダ識別子 |
拡張ヘッダを特定するための識別子。 共通ヘッダでは 0x00。 |
ヘッダ全体のCRC |
ヘッダのCRC。
このフィールドに暫定的に 0を格納した状態で
ヘッダのCRC値を算出する。
CRCの生成多項式には x16 + x15 + x2 + 1 を、初期値には 0を用いる。 サンプルでは 0x4FCF となる。 |
付加情報 |
詳細については後記を参照のこと。 このフィールドは無くても良い。 また、OS/2版の資料によれば、このフィールドのサイズは 不定を示す"n"となっており、この部分のサイズを 0 と 仮定してはならないとも書かれている。 サンプルにはこのフィールドは無い。 |
次拡張ヘッダサイズ |
続く拡張ヘッダのサイズ。 続く拡張ヘッダが無ければ 0。 サンプルでは 0x0007 となる。 |
bit番号 | 概要 | 説明 | |||||
M L B ↑ ↓ M S B |
7〜3 | タイムゾーン |
格納時のその地方の時間帯 参考資料には
|
||||
2 | 暗号化フラグ | 暗号化処理は詳細を定められていない。 吉崎氏は DESを使用することをテストしていたようだが、 より高い機密性を確保するには、ファイルデータの暗号化以外にも ファイル名の暗号化も必要になるだろう。 | |||||
1 | 時間格納形式 |
ローカル(1)/UTC(0) 適応範囲については基本ヘッダ内の日時のみに 適応されるのか、ヘッダ内の全ての日時に 適応されるのか不明。 また、タイムゾーンとは別の情報らしいが それについても詳細は不明である。 |
|||||
0 | 行末文字変換 |
テキスト(1)/バイナリ(0) Windowsでは"\r\n", Mac では'\r', Unixでは'\n' というように OS毎に違う改行記号をファイルを展開したOSの改行記号へと変換するためのフラグ。 しかし、現在では多くのエディタはこれらの改行記号全てに対応しているため 変換する意味があるのかは疑問である。 |
offset | ファイル名ヘッダ level 1 or 2 |
ファイル名ヘッダ level 3 |
00 | 拡張ヘッダ識別子 | 拡張ヘッダ識別子 |
01 | ファイル名(1) | ファイル名(1) |
?? | … | … |
サイズ-5 | … | ファイル名(終端) |
サイズ-4 | … | 次拡張ヘッダサイズ(LL) |
サイズ-3 | ファイル名(終端) | 次拡張ヘッダサイズ(LH) |
サイズ-2 | 次拡張ヘッダサイズ(L) | 次拡張ヘッダサイズ(HL) |
サイズ-1 | 次拡張ヘッダサイズ(H) | 次拡張ヘッダサイズ(HH) |
+0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +A | +B | +C | +D | +E | +F | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | ||
0x0000 | 2E | 00 | 2D | 6C | 68 | 30 | 2D | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 0C | . | . | - | l | h | 0 | - | . | . | . | . | . | . | . | . | ||
0x0010 | EE | 27 | 3D | 20 | 02 | 00 | 00 | 4A | 05 | 00 | 00 | CF | 4F | 07 | 00 | 01 | î | ' | = | . | . | J | . | . | Ï | O | . | ||||||
0x0020 | 74 | 65 | 73 | 74 | 08 | 00 | 02 | 74 | 65 | 73 | 74 | FF | 00 | 00 | -- | -- | t | e | s | t | . | t | e | s | t | ÿ | . | . | - | - |
+0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +A | +B | +C | +D | +E | +F | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | ||
0x0000 | 2E | 00 | 2D | 6C | 68 | 64 | 2D | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 8F | . | . | - | l | h | d | - | . | . | . | . | . | . | . | . | | |
0x0010 | 88 | 2E | 3D | 20 | 02 | 00 | 00 | 4A | 05 | 00 | 00 | 24 | 07 | 03 | 00 | 01 | | . | = | . | . | J | . | . | $ | . | |||||||
0x0020 | 0C | 00 | 02 | 74 | 65 | 73 | 74 | FF | 64 | 69 | 72 | FF | 00 | 00 | -- | -- | . | t | e | s | t | ÿ | d | i | r | ÿ | . | . | - | - |
拡張ヘッダ識別子 |
拡張ヘッダを特定するための識別子。 ファイル名ヘッダでは 0x01。 |
ファイル名 |
ファイル名。 サンプル1 では "test" となる。 サンプル2 には このフィールドは無い。 |
次拡張ヘッダサイズ |
続く拡張ヘッダのサイズ。 続く拡張ヘッダが無ければ 0。 サンプル1 では 0x0008 となる。 サンプル2 では 0x000C となる。 |
offset | ディレクトリ名ヘッダ level 1 or 2 |
ディレクトリ名ヘッダ level 3 |
00 | 拡張ヘッダ識別子 | 拡張ヘッダ識別子 |
01 | ディレクトリ名(1) | ディレクトリ名(1) |
?? | … | … |
サイズ-5 | … | ディレクトリ名(終端) |
サイズ-4 | … | 次拡張ヘッダサイズ(LL) |
サイズ-3 | ディレクトリ名(終端) | 次拡張ヘッダサイズ(LH) |
サイズ-2 | 次拡張ヘッダサイズ(L) | 次拡張ヘッダサイズ(HL) |
サイズ-1 | 次拡張ヘッダサイズ(H) | 次拡張ヘッダサイズ(HH) |
+0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +A | +B | +C | +D | +E | +F | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | ||
0x0000 | 2E | 00 | 2D | 6C | 68 | 30 | 2D | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 0C | . | . | - | l | h | 0 | - | . | . | . | . | . | . | . | . | ||
0x0010 | EE | 27 | 3D | 20 | 02 | 00 | 00 | 4A | 05 | 00 | 00 | CF | 4F | 07 | 00 | 01 | î | ' | = | . | . | J | . | . | Ï | O | . | ||||||
0x0020 | 74 | 65 | 73 | 74 | 08 | 00 | 02 | 74 | 65 | 73 | 74 | FF | 00 | 00 | -- | -- | t | e | s | t | . | t | e | s | t | ÿ | . | . | - | - |
+0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +A | +B | +C | +D | +E | +F | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | ||
0x0000 | 2E | 00 | 2D | 6C | 68 | 64 | 2D | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 8F | . | . | - | l | h | d | - | . | . | . | . | . | . | . | . | | |
0x0010 | 88 | 2E | 3D | 20 | 02 | 00 | 00 | 4A | 05 | 00 | 00 | 24 | 07 | 03 | 00 | 01 | | . | = | . | . | J | . | . | $ | . | |||||||
0x0020 | 0C | 00 | 02 | 74 | 65 | 73 | 74 | FF | 64 | 69 | 72 | FF | 00 | 00 | -- | -- | . | t | e | s | t | ÿ | d | i | r | ÿ | . | . | - | - |
拡張ヘッダ識別子 |
拡張ヘッダを特定するための識別子。 ディレクトリ名ヘッダでは 0x02。 |
ディレクトリ名 |
ディレクトリ名。 サンプル1 では "test/" となる。 サンプル2 では "test/dir/" となる。 (便宜的に 0xFF を '/' に置き換えている。) |
次拡張ヘッダサイズ |
続く拡張ヘッダのサイズ。 続く拡張ヘッダが無ければ 0。 サンプル1、サンプル2ともに続く拡張ヘッダが無い事を意味する 0x0000。 |
offset | 複数ディスクヘッダ level 1 or 2 |
説明 |
00 | 拡張ヘッダ識別子 |
拡張ヘッダを特定するための識別子。 複数ディスクヘッダでは 0x39。 |
01 | 分割モード |
続く圧縮データの形式。 詳しくは後記を参照。 |
02 | 開始オフセット(LL) |
続く圧縮データが、圧縮データ全体の中で どの位置から始まるデータであるのかを示す。 |
03 | 開始オフセット(LH) | |
04 | 開始オフセット(HL) | |
05 | 開始オフセット(HH) | |
06 | データの大きさ(LL) |
続く 圧縮データの大きさのバイト数。 |
07 | データの大きさ(LH) | |
08 | データの大きさ(HL) | |
09 | データの大きさ(HH) | |
10 | 次拡張ヘッダサイズ(L) |
続く拡張ヘッダのサイズ。 続く拡張ヘッダが無ければ 0。 |
11 | 次拡張ヘッダサイズ(H) |
値 | 分割モード | 内容 |
0 | 完全なデータ | 続く圧縮データは分割されず、解凍すれば完全なファイルとなることを示す。 この場合 複数ディスクヘッダは必要なく 特別な理由の無い限り使用すべきでは無い。 |
1 | 途中のデータ | 続く圧縮データは分割されたものの一つである事を示す。 解凍ソフトは最後のデータが現れるまでデータを追加していく必要がある。 |
2 | 最後のデータ | 続く圧縮データは分割されたものの内最後の一つである事を示す。 |
offset | コメントヘッダ level 1 or 2 |
コメントヘッダ level 3 |
00 | 拡張ヘッダ識別子 | 拡張ヘッダ識別子 |
01 | コメント(1) | コメント(1) |
?? | … | … |
サイズ-5 | … | コメント(終端) |
サイズ-4 | … | 次拡張ヘッダサイズ(LL) |
サイズ-3 | コメント(終端) | 次拡張ヘッダサイズ(LH) |
サイズ-2 | 次拡張ヘッダサイズ(L) | 次拡張ヘッダサイズ(HL) |
サイズ-1 | 次拡張ヘッダサイズ(H) | 次拡張ヘッダサイズ(HH) |
+0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +A | +B | +C | +D | +E | +F | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | ||
0x0000 | 42 | 00 | 2D | 6C | 68 | 30 | 2D | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 0C | B | . | - | l | h | 0 | - | . | . | . | . | . | . | . | . | ||
0x0010 | EE | 27 | 3D | 20 | 02 | 00 | 00 | 4D | 07 | 00 | 01 | 74 | 65 | 73 | 74 | 08 | î | ' | = | . | . | M | . | t | e | s | t | ||||||
0x0020 | 00 | 02 | 74 | 65 | 73 | 74 | FF | 0F | 00 | 3F | 63 | 6F | 6D | 6D | 65 | 6E | . | t | e | s | t | ÿ | . | ? | c | o | m | m | e | n | |||
0x0030 | 74 | 20 | 74 | 65 | 73 | 74 | 05 | 00 | 40 | 20 | 20 | 05 | 00 | 00 | B8 | 84 | t | t | e | s | t | . | @ | . | . | ¸ | | ||||||
0x0040 | 00 | 00 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
拡張ヘッダ識別子 |
拡張ヘッダを特定するための識別子。 コメントヘッダでは 0x3F。 |
コメント |
ファイルに対するコメント。 サンプル では "comment test" となる。 |
次拡張ヘッダサイズ |
続く拡張ヘッダのサイズ。 続く拡張ヘッダが無ければ 0。 サンプル では 0x0005 となる。 |