Table of Contents

Class ByteArrayCompressionExtensions

Namespace
Plugin.ByteArrays
Assembly
Plugin.ByteArrays.dll

Compression and decompression extensions for byte arrays.

public static class ByteArrayCompressionExtensions
Inheritance
ByteArrayCompressionExtensions
Inherited Members

Methods

CalculateCompressionRatio(byte[], byte[])

Calculates the compression ratio achieved by compressing the data.

public static double CalculateCompressionRatio(byte[] originalData, byte[] compressedData)

Parameters

originalData byte[]

The original uncompressed data.

compressedData byte[]

The compressed data.

Returns

double

The compression ratio (0.0 to 1.0, where 0.5 means 50% compression).

CompressBrotli(byte[])

Compresses the byte array using Brotli compression.

public static byte[] CompressBrotli(this byte[] data)

Parameters

data byte[]

The data to compress.

Returns

byte[]

The compressed data.

CompressBrotli(byte[], CompressionLevel)

Compresses the byte array using Brotli compression with specified compression level.

public static byte[] CompressBrotli(this byte[] data, CompressionLevel compressionLevel)

Parameters

data byte[]

The data to compress.

compressionLevel CompressionLevel

The compression level to use.

Returns

byte[]

The compressed data.

CompressDeflate(byte[])

Compresses the byte array using Deflate compression.

public static byte[] CompressDeflate(this byte[] data)

Parameters

data byte[]

The data to compress.

Returns

byte[]

The compressed data.

CompressDeflate(byte[], CompressionLevel)

Compresses the byte array using Deflate compression with specified compression level.

public static byte[] CompressDeflate(this byte[] data, CompressionLevel compressionLevel)

Parameters

data byte[]

The data to compress.

compressionLevel CompressionLevel

The compression level to use.

Returns

byte[]

The compressed data.

CompressGZip(byte[])

Compresses the byte array using GZip compression.

public static byte[] CompressGZip(this byte[] data)

Parameters

data byte[]

The data to compress.

Returns

byte[]

The compressed data.

CompressGZip(byte[], CompressionLevel)

Compresses the byte array using GZip compression with specified compression level.

public static byte[] CompressGZip(this byte[] data, CompressionLevel compressionLevel)

Parameters

data byte[]

The data to compress.

compressionLevel CompressionLevel

The compression level to use.

Returns

byte[]

The compressed data.

DecompressBrotli(byte[])

Decompresses the byte array using Brotli decompression.

public static byte[] DecompressBrotli(this byte[] compressedData)

Parameters

compressedData byte[]

The compressed data to decompress.

Returns

byte[]

The decompressed data.

Exceptions

InvalidDataException

Thrown when the data is not valid Brotli format.

DecompressDeflate(byte[])

Decompresses the byte array using Deflate decompression.

public static byte[] DecompressDeflate(this byte[] compressedData)

Parameters

compressedData byte[]

The compressed data to decompress.

Returns

byte[]

The decompressed data.

Exceptions

InvalidDataException

Thrown when the data is not valid Deflate format.

DecompressGZip(byte[])

Decompresses the byte array using GZip decompression.

public static byte[] DecompressGZip(this byte[] compressedData)

Parameters

compressedData byte[]

The compressed data to decompress.

Returns

byte[]

The decompressed data.

Exceptions

InvalidDataException

Thrown when the data is not valid GZip format.

FindBestCompression(byte[])

Tests multiple compression algorithms and returns the best result.

public static (byte[] compressedData, string algorithm) FindBestCompression(this byte[] data)

Parameters

data byte[]

The data to compress.

Returns

(byte[] compressedData, string algorithm)

A tuple containing the compressed data and the algorithm name used.

IsLikelyCompressed(byte[])

Determines if data is likely already compressed by analyzing entropy.

public static bool IsLikelyCompressed(this byte[] data)

Parameters

data byte[]

The data to analyze.

Returns

bool

True if the data appears to be compressed or encrypted, false otherwise.