Introduction
L'extension «.ARJ» permet d'indiquer un format de fichier compressé très efficace. Son utilitaire offre des possibilités de gestion largement supérieur à son principal concurrent: ZIP.
Structure d'entête du fichier
Voici la structure d'entête du fichier ARJ selon les informations contenu dans le fichier (unarj.h) de Robert K Jung :
Déplacement | Taille | Description | |
---|---|---|---|
0000h | 2 octets | Ce champ permet d'indiquer la signature du fichier ARJ: 60000. | |
0002h | 2 octets | Ce champ permet d'indiquer la taille de l'entête simple de fichier. | |
0004h | 1 octet | Ce champ permet d'indiquer la taille de l'entête de fichier. | |
0005h | 1 octet | Ce champ permet d'indiquer le taux moyen. | |
0006h | 1 octet | Ce champ permet d'indiquer le taux maximum. | |
0007h | 1 octet | Ce champ permet d'indiquer le système d'exploitation sous lequel le fichier a été compressé à l'origine: | |
Valeur | Description | ||
0 | MS-DOS | ||
1 | PRIMOS | ||
2 | UNIX | ||
3 | AMIGA | ||
4 | MACDOS | ||
0008h | 1 octet | Ce champ permet d'indiquer les drapeaux divers. | |
0009h | 1 octet | Ce champ permet d'indiquer la méthode de compression: | |
Valeur | Description | ||
0 | Entreposé sans aucune forme de compression | ||
1 | Très compression | ||
2 | Assez compression | ||
3 | Moyennement compression | ||
4 | Compression rapide | ||
000Ah | 1 octet | Ce champ permet d'indiquer le type de fichier: | |
Valeur | Description | ||
0 | Binaire | ||
1 | Texte | ||
2 | Entête de commentaires | ||
3 | Répertoire | ||
4 | Étiquette de volume | ||
000Bh | 1 octet | Ce champ est réservé. | |
000Ch | 4 octets | Ce champ permet d'indiquer la date et l'heure en format DOS. | |
0010h | 4 octets | Ce champ permet d'indiquer la taille du fichier compressé. | |
0014h | 4 octets | Ce champ permet d'indiquer la taille du fichier original. | |
0018h | 4 octets | Ce champ permet d'indiquer le code CRC du fichier original. | |
001Ch | 2 octets | Ce champ permet d'indiquer le position du nom de l'entrée dans le fichier. | |
001Eh | 2 octets | Ce champ permet d'indiquer le mode d'accès du fichier. | |
0020h | 2 octets | Ce champ permet d'indiquer les données de l'hôte. | |
0024h | variable | Ce champ permet d'indiquer les données supplémentaires. |
Exemple
Voici un exemple montrant la structure de ce format suivant en Turbo Pascal 7 :
- Type
- {Structure d'un fichier compressé «.ARJ» }
- ArjHeader=Record
- HeadId:Word; { Signature: 60000 }
- BHdrSz:Word; { Taille de la simple entête de fichier }
- FHdrSz:Byte; { Taille de l'entête fichier }
- AVNo:Byte;
- MAVX:Byte;
- HostOS:Byte;
- Flags:Byte;
- SVer:Byte;
- FType:Byte;
- Res1:Byte;
- DosDT:LongInt;
- CSize:LongInt; { Taille compressé }
- OSize:LongInt; { Taille original }
- SEFP:LongInt;
- FSFPos:Word;
- SEDLgn:Word;
- Res2:Word;
- NameDat:Array[1..120]of Char;{ Début du nom,... }
- Res3:Array[1..10]of Char;
- End;
Dernière mise à jour : Lundi, le 8 février 2016