LzfseSharp 2.0.0
dotnet add package LzfseSharp --version 2.0.0
NuGet\Install-Package LzfseSharp -Version 2.0.0
<PackageReference Include="LzfseSharp" Version="2.0.0" />
<PackageVersion Include="LzfseSharp" Version="2.0.0" />
<PackageReference Include="LzfseSharp" />
paket add LzfseSharp --version 2.0.0
#r "nuget: LzfseSharp, 2.0.0"
#:package LzfseSharp@2.0.0
#addin nuget:?package=LzfseSharp&version=2.0.0
#tool nuget:?package=LzfseSharp&version=2.0.0
LzfseSharp
A C# port of Apple's LZFSE (Lempel-Ziv Finite State Entropy) compression algorithm. This library provides decoding-only functionality for decompressing LZFSE-compressed data.
What is LZFSE?
LZFSE is a Lempel-Ziv style data compression algorithm using Finite State Entropy coding, introduced by Apple with OS X 10.11 and iOS 9. It targets similar compression ratios to DEFLATE but with significantly higher compression and decompression speeds.
Features
- Supports all LZFSE block types:
- LZFSE compressed blocks (V1 and V2 with FSE encoding)
- LZVN compressed blocks (simpler algorithm for small data)
- Uncompressed blocks
Installation
dotnet add package LzfseSharp
Usage
The decoder is fully stream based: it reads compressed input from a source
Stream and writes decompressed output to a destination Stream.
using LzfseSharp;
using FileStream source = File.OpenRead("data.lzfse");
using FileStream destination = File.Create("data.bin");
LzfseDecoder.Decompress(source, destination);
An asynchronous overload is also available:
await LzfseDecoder.DecompressAsync(source, destination, cancellationToken);
Limitations
- Decode-only: This library only supports decompression. For compression, use the original C library or platform-specific APIs on Apple platforms.
License
This project is licensed under the BSD 3-Clause License - the same license as Apple's original LZFSE implementation. See the LICENSE file for details.
References
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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 is compatible. 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 is compatible. 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. |
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on LzfseSharp:
| Package | Downloads |
|---|---|
|
LTRData.DiscUtils.Dmg
DiscUtils dmg parser. Works with apple disk (.dmg) files |
|
|
Devedse.DiscUtils.Dmg
DiscUtils dmg parser. Works with apple disk (.dmg) files |
GitHub repositories
This package is not used by any popular GitHub repositories.