wan24-Compression 1.12.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package wan24-Compression --version 1.12.0
                    
NuGet\Install-Package wan24-Compression -Version 1.12.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.12.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="wan24-Compression" Version="1.12.0" />
                    
Directory.Packages.props
<PackageReference Include="wan24-Compression" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add wan24-Compression --version 1.12.0
                    
#r "nuget: wan24-Compression, 1.12.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.
#:package wan24-Compression@1.12.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=wan24-Compression&version=1.12.0
                    
Install as a Cake Addin
#tool nuget:?package=wan24-Compression&version=1.12.0
                    
Install as a Cake Tool

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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.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 755 10/27/2024
2.12.0 425 9/21/2024
2.11.0 418 9/9/2024
2.10.0 734 8/16/2024
2.9.1 587 7/13/2024
2.9.0 409 7/6/2024 2.9.0 is deprecated because it is no longer maintained.
2.8.0 564 6/22/2024
2.7.0 599 4/28/2024
2.6.0 309 4/14/2024
2.5.0 559 3/9/2024
2.4.0 364 3/2/2024
2.3.0 413 2/24/2024
2.2.0 553 2/10/2024
2.1.0 392 1/20/2024
2.0.0 304 12/17/2023
1.20.2 449 11/11/2023
1.20.1 510 10/21/2023
1.20.0 465 10/15/2023
1.19.0 462 10/7/2023
1.12.0 536 7/22/2023
Loading failed