Skip to content

Hot cs Compress‐Decompress

Joe Care edited this page Feb 2, 2025 · 2 revisions

Compress & Decompress strings

These Methods use GZipStream & Base64 to Compress & Decompress string-data.

private static string Compress(string input)
{
    using (var memoryStream = new MemoryStream())
    {
        using (var gzipStream = new GZipStream(memoryStream, CompressionLevel.SmallestSize))
        using (var writer = new StreamWriter(gzipStream))
        {
            writer.Write(input);
        }
        return Convert.ToBase64String(memoryStream.ToArray());
    }
}

private static string Decompress(string input)
{
    try
    {
        using (var memoryStream = new MemoryStream(Convert.FromBase64String(input)))
        using (var gzipStream = new GZipStream(memoryStream, CompressionMode.Decompress))
        using (var reader = new StreamReader(gzipStream))
        {
            return reader.ReadToEnd();
        }
    }
    catch (Exception ex)
    {
        return input;
    }
}