/// <summary> /// Compress the given byte array /// </summary> /// <param name="raw">byte array to compress</param> /// <returns>compressed byte array</returns> public static byte[] Compress(byte[] raw) { using (MemoryStream memory = new MemoryStream()) { using (GZipStream gzip = new GZipStream(memory, CompressionMode.Compress, true)) { gzip.Write(raw, 0, raw.Length); } return memory.ToArray(); } }
/// <summary> /// Compress the given byte array /// </summary> /// <param name="raw">byte array to compress</param> /// <param name="offset">index to start compress</param> /// <param name="count">size of given byte</param> /// <returns>compressed byte array</returns> public static byte[] Compress(byte[] raw, int offset, int count) { using (MemoryStream memory = new MemoryStream()) { using (GZipStream gzip = new GZipStream(memory, CompressionMode.Compress, true)) { gzip.Write(raw, offset, count); } return memory.ToArray(); } }