【メモ帳】【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には圧縮された情報が登録されています。
参考になると嬉しいです。