Compress and decompress byte array in CSharp

Description

The following code shows how to compress and decompress byte array.

Example


// www  .  jav  a2s  .  c  om

using System;
using System.Text;
using System.IO;
using System.IO.Compression;

class Program
{
    static void Main(string[] args)
    {
        UnicodeEncoding uniEncode = new UnicodeEncoding();

        byte[] bytesToCompress = uniEncode.GetBytes("example text to compress and decompress");
        Console.WriteLine("starting with: " + uniEncode.GetString(bytesToCompress));

        using (FileStream fileToCompress = File.Create("examplefile.gz"))
        {
            using (GZipStream compressionStream = new GZipStream(fileToCompress, CompressionMode.Compress))
            {
                compressionStream.Write(bytesToCompress, 0, bytesToCompress.Length);
            }
        }
        
        byte[] decompressedBytes = new byte[bytesToCompress.Length];
        using (FileStream fileToDecompress = File.Open("examplefile.gz", FileMode.Open))
        {
            using (GZipStream decompressionStream = new GZipStream(fileToDecompress, CompressionMode.Decompress))
            {
                decompressionStream.Read(decompressedBytes, 0, bytesToCompress.Length);
            }
        }

        Console.WriteLine("ending with: " + uniEncode.GetString(decompressedBytes));
    }
}

The code above generates the following result.





















Home »
  C# Tutorial »
    Data Types »




C# Data Types
Bool
Byte
Char
Decimal
Double
Float
Integer
Long
Short
String
C# Array
Array Example
Byte Array
C# Standard Data Type Format
BigInteger
Complex
Currency
DateTime
DateTimeOffset
DateTime Format Parse Convert
TimeSpan
TimeZone
Enum
Null
tuple
var