77 votes

A quoi ressemble un en-tête zlib ?

Dans mon projet, j'ai besoin de savoir à quoi ressemble un en-tête zlib J'ai entendu dire que c'était plutôt simple, mais je ne trouve aucune description de l'en-tête zlib.

Par exemple, contient-il un nombre magique ?

119voto

VahidN Points 3905

en-têtes magiques zlib

 78 01 - No Compression/low
78 9C - Default Compression
78 DA - Best Compression 

28voto

Cttr Points 358

En-têtes ZLIB/GZIP

 Level | ZLIB  | GZIP 
  1   | 78 01 | 1F 8B 
  2   | 78 5E | 1F 8B 
  3   | 78 5E | 1F 8B 
  4   | 78 5E | 1F 8B 
  5   | 78 5E | 1F 8B 
  6   | 78 9C | 1F 8B 
  7   | 78 DA | 1F 8B 
  8   | 78 DA | 1F 8B 
  9   | 78 DA | 1F 8B 

Deflate n'a pas d'en-têtes communs

17voto

mk.. Points 2087

Voici le format de données compressées Zlib.

  +---+---+
 |CMF|FLG| (2 bytes - Defines the compression mode - More details below)
 +---+---+
 +---+---+---+---+
 |     DICTID    | (4 bytes. Present only when FLG.FDICT is set.) - Mostly not set
 +---+---+---+---+
 +=====================+
 |...compressed data...| (variable size of data)
 +=====================+
 +---+---+---+---+
 |     ADLER32   |  (4 bytes of checksum)
 +---+---+---+---+

Généralement, FLG.FDICT (indicateur de dictionnaire) n'est pas défini. Dans de tels cas, le DICTID n'est tout simplement pas présent. Ainsi, l'écoute totale n'est que de 2 octets.

Les valeurs d'en-tête ( CMF et FLG ) sans dictionnaire sont définies comme suit.

  CMF |  FLG
0x78 | 0x01 - No Compression/low
0x78 | 0x9C - Default Compression
0x78 | 0xDA - Best Compression 

Plus sur ZLIB RFC

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X