Search code examples
c#streamgzipgzipstream

How to decompress GZip in Stream (C#)?


This code receives the GZip-encoded string. How can I decode it?

Stream stream = ret.GetResponseStream();

System.IO.StreamReader reader = new System.IO.StreamReader(stream, Encoding.Default);

string answer = reader.ReadToEnd();//answer is GZip encoded string !

byte[] bytes = Encoding.Default.GetBytes(answer);

//???

GZipStream compStream = new GZipStream(stream, CompressionMode.Decompress);

// ... what's next?

Solution

  • One other way is to use Automatic decompression property of the request/response:

    request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
    

    Set this property before you get the response.