趣味バカ一代

筋トレ、アウトドア、キャンプ紹介ブログ

【メモ帳】【C#】 メモリー上でバイナリ―ファイルを圧縮する方法

仕事でバイナリファイルを圧縮する事があり
調べたので、サンプルなどを記載しておきます。

using System.IO;
using System.IO.Compression;

// 圧縮
byte[] bytes = System.Convert.FromBase64String(対象文字列);
using(MemoryStream ms = new MemoryStream(bytes);)
using(GZipStream gzStream = new GZipStream(ms, CompressionMode.Decompress))
{
//ms 、gzStream を自由に扱える。
}

 

今回はBase64にする指定があった為、
System.Convert.FromBase64Stringを使用していますが、
その辺は仕様に合わせ変更お願いします。</>

行っている事は
対象文字列をBase64指定しコンバート & Byteに変換、格納する。
>byte[] bytes = System.Convert.FromBase64String(対象文字列);

MemoryStreamを使用し、バイナリ情報を格納。
GZipStreamを使用しMemoryStreamに格納した先ほどのバイナリ情報を圧縮と言う流れです。
gzStreamには圧縮された情報が登録されています。

参考になると嬉しいです。