using System.IO; using System.IO.Compression; namespace NzbDrone.Common.Extensions { public static class GzipExtensions { public static byte[] Decompress(this byte[] data) { using (var compressedStream = new MemoryStream(data)) using (var gzip = new GZipStream(compressedStream, CompressionMode.Decompress)) using (var decompressedStream = new MemoryStream()) { gzip.CopyTo(decompressedStream); return decompressedStream.ToArray(); } } public static byte[] Compress(this byte[] data) { using (var compressedStream = new MemoryStream()) using (var zipStream = new GZipStream(compressedStream, CompressionMode.Compress)) { zipStream.Write(data, 0, data.Length); zipStream.Close(); return compressedStream.ToArray(); } } } }