Comment savoir si un buffer a été compressé avec Gzip (Zlib) ? - C - Programmation
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
Marsh Posté le 28-07-2004 à 08:00:02
quoi c'est pas suffisant ? tout le monde faire comme ça : une entête.
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 ?
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.
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
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.
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é
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
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.