文档章节

gzip压缩与解压缩

朝天放歌
 朝天放歌
发布于 2016/08/12 13:09
字数 197
阅读 10
收藏 0

话不多说,上代码。 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();
        }
         
    }

© 著作权归作者所有

共有 人打赏支持
朝天放歌
粉丝 2
博文 18
码字总数 4175
作品 0
合肥
程序员

暂无文章

等语句含义

经常会看到某些网站的框架中会用到 <!--[if IE7]><![endif]--> 等语句,今天特意查阅了下它们的区别: <!--[if IE]>所有的IE可识别<![end if]--><!--[if !IE]>除IE外都能识别<![end if]-->......

度_
11分钟前
0
0
资源的有限性与任务的复杂性之间的矛盾

看了一篇文章How to Manage Connections Efficiently in Postgres, or Any Database, 文章讨论了如何管理Postgres数据库连接,列举了几种方式: 每个请求一个连接 连接复用 连接池 连接池管理...

52iSilence7
11分钟前
1
0
Python PEP8规范整理

PEP8规范总结 PEP8 是什么呢,简单说就是一种编码规范,是为了让代码“更好看”,更容易被阅读。 具体有这些规范,参考 PEP 8 --Style Guide for Python Code.当然也可以使用Pycharm检查或使...

_Change_
23分钟前
0
0
input去空格

货币转换while True:MonStr = input()if MonStr[:3] == "RMB":USD = eval(MonStr[3:])/6.78print("USD{:.2f}".format(USD))elif MonStr[:3] == "USD":RMB = eval(MonStr[3:......

fadsaa
26分钟前
0
0
单例设计模式

单例设计模式 设计模式介绍与代码编写 在编写程序时经常会遇到一些典型的问题或需要完成某种特定需求.设计模式就是针对这些问题和需求.在大量的实践中总结和理论化之后的代码结构.编程风格以...

码农屌丝
28分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部