using System; using System.IO; using System.IO.Compression; public static class GZipUtility { public static string CompressString(string input) { byte[] inputBytes = System.Text.Encoding.UTF8.GetBytes(input); using (MemoryStream outputStream = new MemoryStream()) { using (GZipStream gzipStream = new GZipStream(outputStream, CompressionMode.Compress)) { gzipStream.Write(inputBytes, 0, inputBytes.Length); } return Convert.ToBase64String(outputStream.ToArray()); } } public static string DecompressString(string compressedInput) { byte[] compressedBytes = Convert.FromBase64String(compressedInput); using (MemoryStream inputStream = new MemoryStream(compressedBytes)) { using (GZipStream gzipStream = new GZipStream(inputStream, CompressionMode.Decompress)) { using (MemoryStream outputStream = new MemoryStream()) { gzipStream.CopyTo(outputStream); byte[] decompressedBytes = outputStream.ToArray(); return System.Text.Encoding.UTF8.GetString(decompressedBytes); } } } } }