DEFLATE brut (.deflate)
IETF StandardDEFLATE est l'algorithme de compression de données sans perte le plus omniprésent de l'histoire informatique, alimentant les archives ZIP, les flux GZIP, les images PNG et la compression web HTTP depuis plus de trois décennies.
Convertir GZIP en DEFLATE
Convertisseur gratuit de GZIP vers DEFLATE dans le navigateur. Convertissez des fichiers instantanément sur votre appareil.
Inspecter et métadonnées
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers DEFLATE en inspectant la séquence d'octets binaires de tête :
Signature d'en-tête au niveau des octets (Magic Bytes)
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers DEFLATE en inspectant la séquence d'octets binaires de tête :
SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :
78 9C / 78 01 / 78 DAREPRÉSENTATION ASCII : xœ / x. / xÚ
Normalisation : IETF RFC 1951 / RFC 1950 (zlib)
Spécifications techniques
| Architecture de conteneur | Flux de bits brut RFC 1951 ou flux enveloppé zlib RFC 1950 avec en-tête de 2 octets et somme de contrôle Adler-32 |
| Compression | Dictionnaire glissant LZ77 (fenêtre jusqu'à 32 Ko) combiné avec un codage d'entropie de Huffman dynamique/statique |
| Boutisme des octets | Ordre d'empaquetage de bits en petit-boutiste |
| Espaces colorimétriques | N/A (Flux de compression de données) |
| Canaux et structure | Flux de données binaires ou textuelles brutes |
| Dimensions maximales | Longueur de flux illimitée |
| Transparence | Reproduction de données sans perte 100 % exacte au niveau des bits |
| Streaming et progressif | Le flux de bits basé sur des blocs prend en charge le streaming d'octets continus arbitraires |
Matrice de comparaison technique : DEFLATE vs Concurrents
| Attribut technique | DEFLATE (Actuel) | GZ | BROTLI | ZSTD |
|---|---|---|---|---|
| Standardisation | IETF RFC 1951 (Brut) / RFC 1950 (zlib) | IETF RFC 1952 (Gzip) | IETF RFC 7932 (Brotli) | IETF RFC 8878 (Zstandard) |
| Fenêtre glissante | 32 kilooctets max | 32 kilooctets max | Jusqu'à 16 mégaoctets | Jusqu'à 2 gigaoctets |
| Mode de somme de contrôle | Adler-32 (dans le wrapper zlib) | CRC-32 (dans le wrapper gzip) | Aucun flux intégré | xxHash64 (hachage rapide 64 bits) |
| Utilisation quotidienne | Images PNG, flux PDF, ZIP | .tar.gz Unix, gzip HTTP | Polices web (WOFF2), br HTTP | Noyau Linux, bases de données, jeux |
Modes de corruption courants et guide de récupération hexadécimale
Échec de la décompression avec 'Z_DATA_ERROR: incorrect data check'.
Cause racine: Inadéquation dans la somme de contrôle Adler-32 de 4 octets à la fin du flux enveloppé zlib.
Récupération: Contournez la vérification Adler-32 en utilisant inflate brut ou réparez avec la récupération Deflate de File2File.
Analyse de sécurité et vecteurs d'attaque de l'analyseur
Les analyseurs DEFLATE doivent valider strictement les codes de construction d'arbres de Huffman pour empêcher les écritures de pointeurs hors limites.
Vecteurs d'attaque connus
- Tables de longueur de bits d'arbres de Huffman dynamiques incomplètes ou sursouscrites provoquant des lectures de mémoire invalides.
- Bombe de décompression (bombe zip) élargissant de minuscules charges utiles en centaines de gigaoctets de RAM.
- Sur-lecture de tampon dans des codes de distance de fenêtre glissante non validés.
Bonnes pratiques de défense: Appliquez une allocation de mémoire maximale bornée et des plafonds de ratio d'expansion pendant la décompression.
Origines historiques et jalons
Principaux avantages
- La norme mondiale incontestée : implémentée dans le matériel, les systèmes d'exploitation et chaque environnement d'exécution de programmation.
- Conception sans brevet et sans redevance garantissant un accès ouvert dans toute l'industrie informatique.
- Décompression rapide avec un encombrement mémoire minimal (nécessite uniquement une mémoire de fenêtre glissante de 32 Ko).
Limites techniques
- Fenêtre glissante limitée à 32 Ko, réduisant l'efficacité de la compression sur les fichiers volumineux présentant des redondances distantes.
- Ratios de compression inférieurs sur les ressources web modernes par rapport aux algorithmes plus récents comme Brotli et Zstandard.
- Les flux DEFLATE bruts manquent de métadonnées auto-descriptives ou de cadrage de conteneur sans wrappers zlib ou gzip.
Anecdotes techniques
- Phil Katz a inventé DEFLATE après avoir été poursuivi en justice par Unisys concernant l'algorithme breveté LZW utilisé dans les premiers utilitaires PKARC.
- Les octets d'en-tête zlib standard '78 9C' indiquent une compression par défaut, '78 01' une compression faible et '78 DA' une compression maximale.
- Chaque image PNG sur Terre utilise DEFLATE pour compresser ses blocs de pixels IDAT.
Foire aux questions techniques
Quelle est la différence entre DEFLATE, zlib et gzip ?
DEFLATE est l'algorithme de compression brut (RFC 1951). Zlib enveloppe DEFLATE avec un en-tête de 2 octets et une somme de contrôle Adler-32 (RFC 1950). Gzip enveloppe DEFLATE avec des métadonnées de fichier et une somme de contrôle CRC-32 (RFC 1952).
Pourquoi PNG utilise-t-il DEFLATE ?
Le format PNG a été créé en 1995 pour remplacer GIF sans utiliser d'algorithmes LZW brevetés, en choisissant DEFLATE ouvert et sans redevance pour la compression.
Comment puis-je décompresser un fichier .deflate brut ?
Vous pouvez décompresser des flux d'octets DEFLATE ou zlib bruts en fichiers non compressés d'origine à l'aide de File2File.app directement dans votre navigateur web.
Paires de conversion DEFLATE associées
La conversion d'un flux GZIP en DEFLATE brut supprime l'enveloppe de fichier extérieure et les métadonnées d'en-tête, ne laissant que la charge utile compressée pour les protocoles réseau spécialisés et les archives de bas niveau.
La conversion de données DEFLATE brutes en flux GZIP encapsule la charge utile compressée dans un conteneur standard muni d'en-têtes de métadonnées afin que les systèmes d'exploitation et les outils web puissent la lire correctement.