DEFLATE brut (.deflate)

IETF Standard

DEFLATE 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 :

Sélectionnez ou déposez des fichiers ici

Conversion 100 % privée dans le navigateur - les fichiers ne quittent jamais votre appareil

ou coller Ctrl+V
Garantie de confidentialité sans transmission réseau : 0 octet téléchargé vers des serveurs externes. Tout le traitement a lieu localement dans le bac à sable de votre navigateur.

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 DA

REPRÉSENTATION ASCII : xœ / x. / xÚ

Normalisation : IETF RFC 1951 / RFC 1950 (zlib)

Spécifications techniques

Architecture de conteneurFlux 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
CompressionDictionnaire glissant LZ77 (fenêtre jusqu'à 32 Ko) combiné avec un codage d'entropie de Huffman dynamique/statique
Boutisme des octetsOrdre d'empaquetage de bits en petit-boutiste
Espaces colorimétriquesN/A (Flux de compression de données)
Canaux et structureFlux de données binaires ou textuelles brutes
Dimensions maximalesLongueur de flux illimitée
TransparenceReproduction de données sans perte 100 % exacte au niveau des bits
Streaming et progressifLe flux de bits basé sur des blocs prend en charge le streaming d'octets continus arbitraires

Matrice de comparaison technique : DEFLATE vs Concurrents

Attribut techniqueDEFLATE (Actuel)GZBROTLIZSTD
StandardisationIETF RFC 1951 (Brut) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
Fenêtre glissante32 kilooctets max32 kilooctets maxJusqu'à 16 mégaoctetsJusqu'à 2 gigaoctets
Mode de somme de contrôleAdler-32 (dans le wrapper zlib)CRC-32 (dans le wrapper gzip)Aucun flux intégréxxHash64 (hachage rapide 64 bits)
Utilisation quotidienneImages PNG, flux PDF, ZIP.tar.gz Unix, gzip HTTPPolices web (WOFF2), br HTTPNoyau 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

1996Peter Deutsch officialise DEFLATE en tant que RFC 1951 de l'IETF et zlib en tant que RFC 1950.
1995Jean-loup Gailly et Mark Adler publient zlib, la bibliothèque de référence C universelle pour DEFLATE.
1991Phil Katz invente DEFLATE pour PKZIP 2.0 pour remplacer les anciens algorithmes Implode et Reduce.

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.