Was könnte mit diesen Methoden falsch sein?Probleme mit .net Gzip Dekomprimierung Stream
byte[] bytes;
using (var memory_stream = new MemoryStream())
using (var gzip_stream = new GZipStream(memory_stream, CompressionMode.Compress))
{
var buffer = Encoding.Default.GetBytes("Hello nurse!");
gzip_stream.Write(buffer, 0, buffer.Length);
bytes = memory_stream.ToArray();
}
int total_read = 0;
using (var input_stream = new MemoryStream(bytes))
using (var gzip_stream = new GZipStream(input_stream, CompressionMode.Decompress, true))
{
int read;
var buffer = new byte[4096];
while ((read = gzip_stream.Read(buffer, 0, buffer.Length)) != 0) {
total_read += read;
}
}
Debug.WriteLine(bytes);
Debug.WriteLine(total_read);
Die gzipStr ist ein gültiger GZip-Stream (ich es erfolgreich mit GZipStream komprimieren könnte() Compress).
Warum ist total_read immer 0 ??? entpackt gzip stream meinen Stream? mache ich etwas falsch?
Was mache ich hier falsch ?? !!!
Ok, ich habe Ihre Nummer mit gzip Strom Flush und verwenden Encoding.Default/Encoding.UTF8. .. B ut mein Problem wurde nie mit der Gzip-Komprimierung in Verbindung gebracht, es funktioniert gut ... Ich habe Ihre Änderungen aber insgesamt lesen _stills_ 0 So bleibt das Hauptproblem – kementeus
Ich habe gerade den genauen Code geschrieben, den ich benutze. Wenn Sie den Flush herausnehmen, gibt es 0, wenn Sie ihn einfügen, gibt es 12. Ich stimme dem Encoding.UTF8 ist ein Nebenproblem, aber es lohnt sich immer auf die Codierung zu achten. –