using System.IO.Compression;
public static void Main()
UnicodeEncoding uniEncode = new UnicodeEncoding();
byte[] bytesToCompress = uniEncode.GetBytes("example text to compress and decompress");
Console.WriteLine("starting with: " + uniEncode.GetString(bytesToCompress));
using (MemoryStream fileToCompress = new MemoryStream())
using (GZipStream compressionStream = new GZipStream(fileToCompress, CompressionMode.Compress))
compressionStream.Write(bytesToCompress, 0, bytesToCompress.Length);
data = fileToCompress.GetBuffer();
Console.WriteLine("data len: " + data.Length);
byte[] decompressedBytes = new byte[bytesToCompress.Length];
using (var fileToDecompress = new MemoryStream(data))
using (GZipStream decompressionStream = new GZipStream(fileToDecompress, CompressionMode.Decompress))
decompressionStream.Read(decompressedBytes, 0, bytesToCompress.Length);
Console.WriteLine("ending with: " + uniEncode.GetString(decompressedBytes));