Schrift
[thread]8951[/thread]

gzip-komprimierte Daten dekomprimieren

Leser: 1


<< >> 4 Einträge, 1 Seite
weismat
 2007-04-26 18:54
#76279 #76279
User since
2003-08-18
142 Artikel
BenutzerIn
[default_avatar]
Ich versuche Bytes, die ich über eine Socket gelesen habe und mit gzip komprimiert sind, in ungepackte Bytes umzuwandeln.
Dabei habe ich mich entschlossen Compress::Raw::Zlib zu benutzen.
Mein Code sieht grob wie folgt aus:
Code: (dl )
1
2
my ($d, $status)= new Compress::Raw::Zlib::Deflate();
$status=$d->deflate($zippedRawData, $rawData);

Leider bekomme ich immer eine Länge von 0 und Status undef zurück...Benutze ich das richtige Modul oder hat jemand eine andere Idee, was ich falsch mache?

PS Würde sehr gerne den Titel ändern, aber das geht nicht mehr...\n\n

<!--EDIT|weismat|1177599702-->
weismat
 2007-04-27 10:00
#76280 #76280
User since
2003-08-18
142 Artikel
BenutzerIn
[default_avatar]
[quote=weismat,26.04.2007, 16:54]Ich versuche Bytes, die ich über eine Socket gelesen habe und mit gzip komprimiert sind, in ungepackte Bytes umzuwandeln.
Dabei habe ich mich entschlossen Compress::Raw::Zlib zu benutzen.
Mein Code sieht grob wie folgt aus:
Code: (dl )
1
2
my ($d, $status)= new Compress::Raw::Zlib::Deflate();
$status=$d->deflate($zippedRawData, $rawData);

Leider bekomme ich immer eine Länge von 0 und Status undef zurück...Benutze ich das richtige Modul oder hat jemand eine andere Idee, was ich falsch mache?

PS Würde sehr gerne den Titel ändern, aber das geht nicht mehr...[/quote]
Habe zwar mittlerweile bemerkt, daß deflate komprimieren und inflate dekomprimieren ist - aber es hilft immer noch nicht...
murphy
 2007-04-27 17:21
#76281 #76281
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Also meine Glaskugel sagt mir, dass Du vielleicht versuchst, Daten mit den rohen Zlib-Routinen zu dekomprimieren, die in Wahrheit einen GZip-Header haben.

Da würde ich dann vorschlagen, lieber mal einen Blick auf CPAN:IO::Uncompress::Gunzip zu werfen. Damit kannst Du nämlich einfach ein Dateihandle erzeugen, dass das eigentlich Socketdateihandle verpackt und transparent die Dekompression durchführt.
When C++ is your hammer, every problem looks like your thumb.
weismat
 2007-04-27 18:30
#76282 #76282
User since
2003-08-18
142 Artikel
BenutzerIn
[default_avatar]
Ich habe bei der Gegenseite nochmal nachgefragt und die haben mir gesagt, daß ich die Funktion Decompressbuf aus der ZLib nehmen soll...
Werde es einfach mit uncompress aus Compress::Zlib probieren, wenn ich nach dem langen Wochenende wieder im Büro bin...

Nachtrag: uncompress aus Compress::Zlib funktioniert\n\n

<!--EDIT|weismat|1178151681-->
<< >> 4 Einträge, 1 Seite



View all threads created 2007-04-26 18:54.