Le format Z Library (ZLIB) est une compression d'un unique fichier.
Voici son format :
En-tête.
Méthode de compression.
Les quatre premiers bits de valeur 0x80 signifie que la méthode est Deflate.
Les quatre seconds bits de indiquent la taille de la fenêtre - 0x0F pour 32768 octets.
Options d'en-tête.
Un octet utilisant le codage bit suivant :
Code de vérification sur cinq bits - Masque 0xF8.
De la sorte que l'octet de la méthode de compression multiplié par 256 additionné à cette valeur soit un multiple de 31.
Présence d'un dictionnaire sur un bit - Masque 0x04.
Le dictionnaire sert à paramétrer l'algorithme de décompression, telles des tables de statistiques Huffman.
Niveau de compression sur deux bits - Masque 0x03.
Le codage est le suivant :
Code décimal.
Code hexadécimal.
Sémantique.
0
0x00
Compression le plus rapide.
1
0x01
Compression rapide.
2
0x02
Compression par défaut.
3
0x03
Compression maximale.
Identifiant du dictionnaire.
Leur taille est un entier de quatre octets encodé en big endian.
Données compressées.
Selon la méthode indiquée dans l'en-tête.
Code de vérification des données compressées.
Un entier de quatre octets encodé en big endian correspondant au résultat de l'algorithme Adler 32.