title: .NET GZipStream compress and decompress
body: <p>What is wrong with this code below. I always get FALSE, meaning after compression, decompressed data does not match original value.</p>
  
  <pre><code>public static bool Test()
          {
              string sample = "This is a compression test of microsoft .net gzip compression method and decompression methods";
              System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
              byte[] data = encoding.GetBytes(sample);
              bool result = false;
  
              //Compress
              MemoryStream cmpStream;
              cmpStream = new MemoryStream();
              GZipStream hgs = new GZipStream(cmpStream, CompressionMode.Compress);
              hgs.Write(data, 0, data.Length);
              byte[] cmpData = cmpStream.ToArray();
  
              MemoryStream decomStream;
              decomStream = new MemoryStream(cmpData);
              hgs = new GZipStream(decomStream, CompressionMode.Decompress);
              hgs.Read(data, 0, data.Length);
  
              string sampleOut = System.BitConverter.ToString(data);
  
              result = String.Equals(sample, sampleOut) ;
              return result;
          }
  </code></pre>
  
  <p>I will really appreciate if you can point out where I am making a mistake. </p>