Skip to content
This repository has been archived by the owner on Jan 15, 2019. It is now read-only.

UlyssesWu/LZ4.Frame

Repository files navigation

LZ4.Frame

NuGet version

LZ4 Frame compress & decompress for .NET based on lz4net.

Alternative

This lib is a simple, pure managed implementation. You should choose K4os.Compression.LZ4 for a more reliable implementation with dictionary support.

Install

PM > Install-Package LZ4.Frame

Why not...

lz4net is great, but lacking LZ4 Frame support. This project is based on lz4net and enables LZ4 Frame support. (use K4os.Compression.LZ4 instead)

lz4.net is a C++/CLI wrapper for native LZ4. I love C++/CLI solutions but that means it only works on Windows platforms. This project is fully managed, therefore it's easier to compile, modify, and go cross-platform.

TODO

These features are not implemented:

  • Linked Block (when Block Independence flag = 0)
  • Dictionary (when Dictionary ID != 0)
  • Skippable Frame
  • Legacy frame

If you get Unhandled ArgumentException: LZ4 block is corrupted, or invalid length has been given., your lz4 file is most likely using Linked Block and Dictionary. I currently couldn't find a workaround (please switch to lz4.net) for this because lz4net does not have any Dictionary support.

I'd appreciate it if someone could add Dictionary support for this.

LICENSE

MIT

Reference

Rune Henriksen's lz4 frame formatter (LICENSE: MIT) is the main reference of this project.

LZ4 Frame Format Description

Thanks

Thanks @vpenades for helping me improve this lib.


by Ulysses

About

.NET lib for LZ4Frame

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published