wan24-Compression 1.15.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package wan24-Compression --version 1.15.0                
NuGet\Install-Package wan24-Compression -Version 1.15.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="wan24-Compression" Version="1.15.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add wan24-Compression --version 1.15.0                
#r "nuget: wan24-Compression, 1.15.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install wan24-Compression as a Cake Addin
#addin nuget:?package=wan24-Compression&version=1.15.0

// Install wan24-Compression as a Cake Tool
#tool nuget:?package=wan24-Compression&version=1.15.0                

wan24-Compression

This library exports a generic compression API, which allows to use any implemented compression algorithm to be applied using a simple interface:

// Compress memory
byte[] compressed = uncompressed.Compress();
uncompressed = compressed.Decompress();

// Compress a stream
uncompressedStream.Compress(compressedStream, new()
{
    LeaveOpen = true
});
uncompressedStream.SetLength(0);
compressedStream.Decompress(uncompressedStream);

The goals of this library are:

  • Make a choice being a less torture
  • Make a complex thing as easy as possible

Implementing (new) compression algorithms into (existing) code can be challenging. wan24-Compression tries to make it as easy as possible, while the API is still complex due to the huge number of options it offers.

NOTE: The compressed output of this library may include a header, which can't (yet) be interpreted by any third party vendor code. That means, a compressed output of this library can't be decompressed with a third party compression library, even this library implements standard compression algorithms.

Using this library for a compressed sequence which has to be exchanged with a third party application, which relies on working with standard compression algorithm output, is not recommended - it may not work!

Anyway, this library should be a good choice for isolated use within your application(s), if want to avoid a hussle with implementing newer compression algorithms.

How to get it

This library is available as NuGet package.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on wan24-Compression:

Package Downloads
wan24-Crypto

Crypto helper

wan24-Compression-LZ4

LZ4 adoption for wan24-Compression

wan24-Compression-Shared-Tests

Shared tests for wan24-Compression libraries

wan24-I8N-Compressed

wan24-Core translation terms for the i8n compressed file format

wan24-Compression-Zstd

Zstd adoption for wan24-Compression

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.13.0 241 10/27/2024
2.12.0 267 9/21/2024
2.11.0 207 9/9/2024
2.10.0 422 8/16/2024
2.9.1 379 7/13/2024
2.9.0 228 7/6/2024 2.9.0 is deprecated because it is no longer maintained.
2.8.0 390 6/22/2024
2.7.0 426 4/28/2024
2.6.0 164 4/14/2024
2.5.0 361 3/9/2024
2.4.0 212 3/2/2024
2.3.0 244 2/24/2024
2.2.0 333 2/10/2024
2.1.0 214 1/20/2024
2.0.0 182 12/17/2023
1.20.2 298 11/11/2023
1.20.1 342 10/21/2023
1.20.0 317 10/15/2023
1.19.0 303 10/7/2023
1.18.0 243 9/27/2023
1.17.1 187 9/19/2023
1.17.0 251 9/19/2023
1.16.0 225 9/16/2023
1.15.0 243 9/10/2023
1.14.0 262 9/3/2023
1.13.1 276 7/30/2023
1.13.0 268 7/30/2023
1.12.0 367 7/22/2023
1.11.0 363 6/8/2023
1.10.1 318 6/3/2023
1.10.0 258 6/3/2023
1.9.0 273 5/29/2023
1.8.0 293 5/27/2023
1.7.0 309 5/20/2023
1.6.0 446 5/6/2023
1.5.0 383 5/1/2023
1.4.0 436 4/30/2023
1.3.0 369 4/29/2023
1.2.1 641 4/26/2023
1.2.0 298 4/25/2023
1.1.0 327 4/22/2023
1.0.0 241 4/17/2023