gzip压缩与解压缩
gzip压缩与解压缩
朝天放歌 发表于1年前
gzip压缩与解压缩
  • 发表于 1年前
  • 阅读 9
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 项目用到gzip压缩技术,网上搜索了一下,开源的关于压缩的插件挺多的,用的时候总是别扭。后来直接用了微软自带的GZipStream,感觉还是这个好用、简单。记录一下

话不多说,上代码。 GzipCompress在System.IO.Compression中。

/******************************************************************* 
 * FileName: GzipTool.cs
 * Author   : pilgrimzh
 * Date : 2016-08-12 13:08:21
 * Desc : 
 * 该工具用于对字节流进行Gzip压缩与解压缩
 * 
 * *******************************************************************/ 
 public  class GzipTool
    {

        /// <summary>
        /// gzip解压缩字节流
        /// </summary>
        /// <param name="src"></param>
        /// <returns></returns>
        public static byte[] Decompress(byte[] src)
        {
            MemoryStream decompressedMs = new MemoryStream();
            MemoryStream srcMs = new MemoryStream(src);
            using (GZipStream gzipstream = new GZipStream(srcMs, CompressionMode.Decompress, true))
            {
                gzipstream.CopyTo(decompressedMs);
            }

            return decompressedMs.GetBuffer();
        }

        /// <summary>
        /// gzip压缩字节流
        /// </summary>
        /// <param name="src"></param>
        /// <returns></returns>
        public static byte[] Compress(byte[] src)
        {
            MemoryStream compressedMs = new MemoryStream();
            
            using(GZipStream gzipstream = new GZipStream(compressedMs, CompressionMode.Compress, true))
            {
                MemoryStream srcMs = new MemoryStream(src);
                srcMs.CopyTo(gzipstream);
            }

            return compressedMs.GetBuffer();
        }
         
    }
共有 人打赏支持
粉丝 3
博文 17
码字总数 3682
×
朝天放歌
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: