byte[] httpDecompress(HttpDatagram http)
{
int magicnum = 0x1f8b;
Stream str= http.Body.ToMemoryStream();
using (var zipStream = new GZipStream(str, CompressionMode.Decompress))
using (var resultStream = new MemoryStream())
{
zipStream.CopyTo(resultStream);
return resultStream.ToArray();
}
}
dort ist der Code, aber es gibt eine magische Zahl Fehler. Wie kann ich den Anfang der GZip-Zeichenfolge finden, ich denke, die Quelle des Problems ist da. Kann jemand helfen?Wie kann ich den Anfang der Gzip-Zeichenfolge in einem MemoryStream finden?
Was ist ein "gzip String"? –
Der Fehler _ "Die magische Zahl im GZip-Header ist nicht korrekt" _ bedeutet, dass es sich um eine Nicht-Zip-Datei handelt oder die Datei beschädigt ist. – CodeCaster
Ich versuche HTTP-Body-Daten von einem TCP-Paket zu bekommen. Der Übertragungscodierungstyp ist Gzip. Ich konvertiere es in den Speicherstream und versuche es zu dekomprimieren. Gibt einen falschen magischen Zahlenfehler, den ich denke, weil es nicht den richtigen Anfangspunkt erhält. –