IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques C++ Discussion :

Decompresser un flux zlib


Sujet :

Bibliothèques C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 20
    Par défaut Decompresser un flux zlib
    Bonjour a toutes et a tous,

    Je vous expose un petit probleme auquel je n'arrive pas a trouver de solutions.

    Voici le contexte :
    J'ai deux processus qui communiquent par FIFO. J'espionne la FIFO et je me retrouve avec un flux compresse. J'ai besoin de decompresser ce flux afin de verifier que le message a bien ete envoye et que les valeurs sont correctes, savoir les valeurs additionnelles que le processus emetteur ajoute. Je n'ai pas acces aux sources des deux process (puisqu'il faut les refaire).

    Voici un flux que je recupere au format hexa :

    78 9c fb c7 c0 c8 c0 68 c6 00 24 19 18 04 80 38 cd a6 d1 f3 ca 0a 56 86 cd 40 36 0b 10 33 fd ff bb 7f 02 13 03 03 00 8d 25 08 3b

    J'ai remarque que ce flux a ete compresse avec zlib. D'ailleurs 789C correspond bien a ce que decrit la spec : RFC 1950, 1951, 1952. Cette chaine n'est pas au format gzip car celui-ci ajoute des entetes (date, nom du fichier...etc. avant 789C).
    J'ai essaye (avec du PHP car rapide pour tester) de reconstituer les entetes gzip et le calcul CRC (car je pars de l'hypothese que mon flux c'est que la partie donnees compressee sans les entetes ni le CRC Adler) afin de convertir cette chaine en un fichier gzip et utiliser gzip des lors pour decompresser.

    Questions :
    Comment savoir si mon flux comporte deja le Cheksum ? Autrement dit est-ce que cette chaine a ete produite a partir de la RFC 1950, 51 ou 52 ?

    Comment decompresser ce flux ?

    Si vous avez quelques pistes...

    Par avance Merci.

  2. #2
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Pourquoi tu n'utilises pas zlib ?

  3. #3
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 20
    Par défaut
    J'ai deja essaye via PHP (J'aurai pu le faire en C++, j'ai prefere un code PHP car plus rapide a faire).
    J'ai une erreur de la bibliotheque zlib qui ne reconnait pas le flux comme etant un flux compresse.

Discussions similaires

  1. decompression gzip avec zlib
    Par lilington dans le forum Débuter
    Réponses: 5
    Dernier message: 12/08/2013, 04h01
  2. Compression decompression zlib multi fichier
    Par croc14 dans le forum Bibliothèques
    Réponses: 4
    Dernier message: 18/11/2010, 15h06
  3. Decompresser un flux
    Par Msysteme dans le forum C#
    Réponses: 13
    Dernier message: 19/10/2009, 11h19
  4. Réponses: 4
    Dernier message: 02/07/2008, 11h35
  5. problemes de decompression avec zlib (gzip)
    Par muquet dans le forum C
    Réponses: 3
    Dernier message: 25/07/2007, 13h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo