asp.net中如何用GZip压缩和解压

发布时间:2020-09-04编辑:脚本学堂
asp.net中如何用GZip压缩和解压

asp.net支持两种压缩格式:gzip和Deflate。这两种压缩格式,其压缩率和速度没有大的区别。其中,GZip压缩的文件可以被WinRAR打开。
下面给出了字符串的压缩与解压示例代码。

字符串压缩入文件:
using (DeflateStream gzip = new DeflateStream(fs, CompressionMode.Compress))
{
    byte[] buf = Encoding.UTF8.GetBytes(this.txbSource.Text);
    gzip.Write(buf, 0, buf.Length);
    gzip.Flush();
}

解压:
gzip = new GZipStream(new MemoryStream(buf), CompressionMode.Decompress);
using (StreamReader reader = new StreamReader(gzip))
{
this.txbTarget.Text = reader.ReadToEnd();
}

解压文件时,添加:using System.IO.Compression;,然后把MemoryStream换成FileStream即可。