備忘録

備忘録

C#でLZ4を利用して圧縮展開する方法

Ⅰ. はじめに

タイトルの通り「C#でLZ4を利用して圧縮展開する方法」です。

Ⅱ. 手順

1. 必要なパッケージをNuGetからインストールする
dotnet add package K4os.Compression.LZ4 --version 1.3.5
2. サンプルプログラムを書く

Program.cs

using K4os.Compression.LZ4;

var originalBytes = Encoding.UTF8.GetBytes("hello world");

// 圧縮
var encodedBytes = new byte[256];
var length = LZ4Codec.Encode(originalBytes, encodedBytes);
encodedBytes = encodedBytes.Take(length).ToArray();
Console.WriteLine(BitConverter.ToString(encodedBytes));

// 展開
var decodedBytes = new byte[256];
length = LZ4Codec.Decode(encodedBytes, decodedBytes);
decodedBytes = decodedBytes.Take(length).ToArray();
Console.WriteLine(BitConverter.ToString(decodedBytes));

実行結果

B0-68-65-6C-6C-6F-20-77-6F-72-6C-64
68-65-6C-6C-6F-20-77-6F-72-6C-64