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
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
CompressionLevelThe 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
CompressionLevelThe 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
CompressionLevelThe 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.