public static byte[] Compress(byte[] data, ZlibLevel level = ZlibLevel.DEFAULT) { MemoryStream memoryStream1 = new MemoryStream(); ZOutputStream zoutputStream = new ZOutputStream(memoryStream1, (int)level); MemoryStream memoryStream2 = new MemoryStream(data); try { ZlibProvider.CopyStream(memoryStream2, zoutputStream); zoutputStream.finish(); data = memoryStream1.ToArray(); } finally { zoutputStream.Close(); memoryStream1.Close(); memoryStream2.Close(); } return(data); }
public static byte[] Decompress(byte[] data) { MemoryStream memoryStream1 = new MemoryStream(); ZOutputStream zoutputStream = new ZOutputStream(memoryStream1); MemoryStream memoryStream2 = new MemoryStream(data); try { ZlibProvider.CopyStream(memoryStream2, zoutputStream); zoutputStream.finish(); data = memoryStream1.ToArray(); } finally { zoutputStream.Close(); memoryStream1.Close(); memoryStream2.Close(); } return(data); }