|
[ヘッダー1][データ1][ヘッダー2][データ2]…[ヘッダーn][データn][00h]ヘッダーは格納ファイルに常にあるが、データは無いことがある。LHA v2.14以降で対応した-lhd-(ディレクトリ名の格納)は、データサイズ0でありデータがない。
[基本ヘッダー][拡張ヘッダー1][拡張ヘッダー2]…[拡張ヘッダーn][0000h]LHAのヘッダー形式はLEVEL 0/1/2の三種類がある。略してH0/H1/H2のように呼ばれる。LArcおよびLHarc(LHA 1.xx)はLHAでいうLEVEL 0に対応し、LEVEL 1/2はLEVEL 0の拡張である。
位置 | サイズ | 内容 |
---|---|---|
00h | BYTE | 基本ヘッダー長(これ自身と拡張データ長を除く) |
01h | BYTE | ヘッダーのチェックサム(02hから基本ヘッダー長分の単純和 下位8ビット) |
02h | 5BYTE | 圧縮方法 ("-lh5-"などの文字列) |
07h | DWORD | 圧縮後のデータ長 |
0Bh | DWORD | 元のファイルサイズ |
0Fh | WORD | ファイルの更新時刻 (MS-DOS形式) |
11h | WORD | ファイルの更新日付 (MS-DOS形式) |
13h | BYTE | ファイル属性 (MS-DOS形式) |
14h | BYTE | 00h=ヘッダーのレベル |
15h | BYTE | ファイル名の長さ (最大233バイト) |
16h | nBYTE | ファイル名 (最大233バイト、パスも含む) |
WORD | 格納ファイル(圧縮前)のCRC | |
nBYTE | 拡張データ(無い場合もある) |
位置 | サイズ | 内容 |
---|---|---|
00h | BYTE | 基本ヘッダー長 |
01h | BYTE | ヘッダーのチェックサム(02hから基本ヘッダー長分の単純和 下位8ビット) |
02h | 5BYTE | 圧縮方法 ("-lh5-"などの文字列) |
07h | DWORD | 圧縮後のデータ長+拡張ヘッダー長の合計 |
0Bh | DWORD | 元のファイルサイズ |
0Fh | WORD | ファイルの更新時刻 (MS-DOS形式) |
11h | WORD | ファイルの更新日付 (MS-DOS形式) |
13h | BYTE | 20h ダミーのファイル属性 (互換用) |
14h | BYTE | 01h=ヘッダーのレベル |
15h | BYTE | ファイル名の長さ (最大230バイト、0の場合は拡張ヘッダーに格納) |
16h | nBYTE | ファイル名 (最大230バイト、パスは含まない) |
WORD | 格納ファイル(圧縮前)のCRC | |
BYTE | OS識別子 (詳細後述) | |
nBYTE | 拡張データ(無い場合もある) |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | この拡張ヘッダー長 |
02h | BYTE | この拡張ヘッダーの種類 |
03h | nBYTE | この拡張ヘッダーのデータ |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | 拡張ヘッダー長 (ファイル名の長さ+3) |
02h | BYTE | 01h ファイル名ヘッダー |
03h | nBYTE | ファイル名 (シフトJIS) |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | 拡張ヘッダー長 (ディレクトリ名の長さ+3) |
02h | BYTE | 02h ディレクトリ名ヘッダー |
03h | nBYTE | ディレクトリ名 (シフトJIS、パスのデリミターはFFh) |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | 拡張ヘッダー長 (ディレクトリ名の長さ+3) |
02h | BYTE | 40h MS-DOSファイル属性ヘッダー |
03h | WORD | MS-DOSファイル属性 |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | 拡張ヘッダー長 (0005h または 0006h) |
02h | BYTE | 00h 共通ヘッダー |
03h | WORD | ヘッダーのCRC (基本ヘッダー/拡張ヘッダー全体の) |
05h | BYTE | 付加情報 (無い場合もある) |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | 0000h |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | ヘッダー長 (この領域からデータ部直前までの長さ) |
02h | 5BYTE | 圧縮方法 ("-lh5-"などの文字列) |
07h | DWORD | 圧縮後のデータ長 |
0Bh | DWORD | 元のファイルサイズ |
0Fh | DWORD | ファイルの更新時刻 (time_t形式) |
13h | BYTE | 20h ダミーのファイル属性 (互換用) |
14h | BYTE | 02h=ヘッダーのレベル |
15h | WORD | 格納ファイル(圧縮前)のCRC |
17h | BYTE | OS識別子 (詳細後述) |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | 0000h |
02h | BYTE | ダミー |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | 拡張ヘッダー長 (ファイル名の長さ+3) |
02h | BYTE | 44h ファイル名ヘッダー (UTF-16LE) |
03h | nWORD | ファイル名 (UTF-16LE) |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | 拡張ヘッダー長 (ディレクトリ名の長さ+3) |
02h | BYTE | 45h ディレクトリ名ヘッダー (UTF-16LE) |
03h | nWORD | ファイル名 (UTF-16LE) |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | 拡張ヘッダー長 (0005h) |
02h | BYTE | 50h UNIX パーミッションヘッダー |
03h | WORD | パーミッション情報 |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | 拡張ヘッダー長 (0007h) |
02h | BYTE | 51h UNIX UID/GIDヘッダー |
03h | WORD | GID |
05h | WORD | UID |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | 拡張ヘッダー長 (グループ名の長さ+3) |
02h | BYTE | 52h UNIX グループ名ヘッダー |
03h | nBYTE | グループ名 |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | 拡張ヘッダー長 (ユーザー名の長さ+3) |
02h | BYTE | 53h UNIX ユーザー名ヘッダー |
03h | nBYTE | ユーザー名 |
位置 | サイズ | 内容 |
---|---|---|
00h | WORD | 拡張ヘッダー長 (0007h) |
02h | BYTE | 54h UNIX 最終更新日時ヘッダー |
03h | DWORD | 最終更新日時 (time_t形式) |