Comment savoir si un buffer a été compressé avec Gzip (Zlib) ?

Comment savoir si un buffer a été compressé avec Gzip (Zlib) ? - C - Programmation

Marsh Posté le 27-07-2004 à 16:34:41    

Une fonction doit pouvoir recevoir des buffers provenant de 2 sources différentes: l'une utilisant la compression Gzip de la Zlib, l'autre utilisant un algo "maison".
 
Comment faire pour savoir avec quelle méthode decompresser ?
 
Le buffer contient-il une en-tête spécifique à l'algo ?
Si oui, où puis-je trouver sa description ?
 
En sachant que je n'ai aucun contrôle sur les données émise, il n'est donc pas question d'informer le récepteur sur le contenu du buffer par un biais détrouné.
 
Au pire il me restera la méthode:
Je decompresse avec Zlib -> marche pas -> je décompresse avec l'algo maison.

Reply

Marsh Posté le 27-07-2004 à 16:34:41   

Reply

Marsh Posté le 27-07-2004 à 17:30:54    

un bit/octet de version

Reply

Marsh Posté le 28-07-2004 à 07:54:49    

Ah, c'est pas suffisant pour faire la différence avec un autre buffer.
 
Tant pis, j'utiliserai l'autre methode.
 
Merci

Reply

Marsh Posté le 28-07-2004 à 08:00:02    

quoi c'est pas suffisant ? tout le monde faire comme ça : une entête.

Reply

Marsh Posté le 28-07-2004 à 08:07:35    

Admettons que l'octet de version est le 6ème.
 
Qu'est-ce qui empèche mon buffer "maison" d'avoir comme 6ème octet un  numéro de version (pas de bol) ?
 
Si l'en-tête est plus complexe d'un simple octet, alors là OK ça peut-être un facteur discriminant.
 
As-tu la description de cette en-tête ?

Reply

Marsh Posté le 28-07-2004 à 08:12:35    

mais je te dis d'en rajouter un octet :o

Reply

Marsh Posté le 28-07-2004 à 08:16:28    

Ah ... pardon !
 
Mais comme je l'ai précisé dans le premier message, je n'ai aucun contrôle sur les données coté emetteur !
 
Je recois des buffers dans l'un ou l'autre des formats, à moi de les décompresser.
 
Sinon j'aurais bien sur ajouter des octets de contrôle.
 

Reply

Marsh Posté le 28-07-2004 à 08:22:29    

ben documente toi sur les deux formats, aux moins sur gzip, avec de la doc, en lisant quelques octets, tu peux facilement dire si c'est du gzip ou pas.
 
après faut voir, lorsque tu ouvres ton gzip, zlib fait déjà sans doute des tests, pas la peine de décompresser pour constater que ça marche pas je pense

Reply

Marsh Posté le 28-07-2004 à 08:26:05    

On en revient à ma première question ...  
 
J'ai déjà fait des recherches, sans succès. C'est pour cela que j'ai posté dans le forum.
 
Merci d'avoir tenté de m'aider.
 

Reply

Marsh Posté le 28-07-2004 à 08:30:50    

regarde déjà dans zlib, c'est à peu près sur qu'il y a un machin pour vérifier l'intégrité

Reply

Marsh Posté le 28-07-2004 à 08:30:50   

Reply

Marsh Posté le 28-07-2004 à 10:05:31    

Etant donné que c'est à faire pour hier, et que c'est une solution temporaire (par la suite de sera du Zlib à coup sur) ... je vais rester sur première solution

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed