首页 > 其他分享 >【代码块】-Helper-GZIP

【代码块】-Helper-GZIP

时间:2023-08-08 23:13:42浏览次数:24  
标签:Helper buffer 代码 System var using GZIP new byte

整理代码块

代码块整理后存储,供后期使用

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

public class GzipHelper
{
    /// <summary>
    /// GZIP解压缩
    /// </summary>
    /// <param name="data"></param>
    /// <returns></returns>
    protected byte[] Decompress(byte[] data)
    {
        try
        {
            var ms = new MemoryStream(data);
            var zip = new GZipStream(ms, CompressionMode.Decompress, true);
            var msreader = new MemoryStream();
            var buffer = new byte[0x1000];

            while (true)
            {
                var reader = zip.Read(buffer, 0, buffer.Length);
                if (reader <= 0)
                {
                    break;
                }
                msreader.Write(buffer, 0, reader);
            }

            zip.Close();
            ms.Close();
            msreader.Position = 0;
            buffer = msreader.ToArray();
            msreader.Close();
            return buffer;
        }
        catch (Exception)
        {
            throw;
        }
    }

    protected string Decompress(Stream stream)
    {
        try
        {
            var zip = new GZipStream(stream, CompressionMode.Decompress, true);
            var msreader = new MemoryStream();
            var buffer = new byte[0x1000];

            while (true)
            {
                var reader = zip.Read(buffer, 0, buffer.Length);
                if (reader <= 0)
                {
                    break;
                }
                msreader.Write(buffer, 0, reader);
            }

            zip.Close();
            stream.Close();
            msreader.Position = 0;
            buffer = msreader.ToArray();
            msreader.Close();
            return Encoding.GetEncoding("UTF-8").GetString(buffer);
        }
        catch (Exception)
        {
            throw;
        }
    }
}

标签:Helper,buffer,代码,System,var,using,GZIP,new,byte
From: https://www.cnblogs.com/Katakana/p/17615641.html

相关文章

  • 【代码块】-Helper-开机启动
    整理代码块代码块整理后存储,供后期使用usingMicrosoft.Win32;/*这段代码可以用于将一个程序设置为开机启动项,或者从开机启动项中移除*/publicclassStartupHelper{///<summary>///设置开机启动项///</summary>///<paramname="enabled">是否......
  • 【代码块】-控件-双缓冲绘制
    整理代码块代码块整理后存储,供后期使用usingSystem;usingSystem.Drawing;usingSystem.Windows.Forms;/*这段代码是用于自定义控件绘图的示例,你可以根据自己的需求进行修改和扩展*/publicclassCustomControl:Control{privateboolIsMouseOn=false;pr......
  • 【代码块】-CS-控件属性和时间
    整理代码块代码块整理后存储,供后期使用//winForm,根据控件的名字获取控件Controlcontrol=Controls.Find("button1",true)[0];//获取属性objecto=control.GetType().GetProperty("PropertyName").GetValue(control,null);//获取事件System.Reflection.EventInfo......
  • 遇到的问题-----网上下载的项目修改代码无效,不能相应的生成相应的页面内容
    最近帮同学改毕业设计  同学在网上下了很多  项目的构造方式真是五花八门  昨天改一个项目的时候竟然遇到很奇葩的情况,我在后台.cs改代码, 打点(.)之后没有相应的变量跳出来供你选择 而且修改.cs中的代码运行后根本没有变化 就算是你写错误的代码照样能......
  • [代码随想录]Day12-二叉树part01
    今天的题目就是二叉树的前中后序遍历,目前只写了递归方法,之后再补迭代方法。题目:144.二叉树的前序遍历思路:前序遍历:根-左-右代码1:递归,递归情况下只需要改变递归的顺序即可实现前中后序遍历。/***Definitionforabinarytreenode.*typeTreeNodestruct{*Va......
  • maven打包跳过test代码几种方式
    maven打包跳过test代码几种方式spring项目处理:<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><skip>true</skip&......
  • 不可错过!12个编写整洁Java代码的最佳实践方法
    在软件开发领域摸爬滚打了这些年之后,通过与各类开发者合作,审查他们所编写的代码所累积的经验,使飞哥对整洁代码的理解和认识有了本质的提升。引用《代码整洁之道》中的一段话,实际上,我们花在阅读代码上的时间远远超过编写代码的时间,这个比例甚至超过10比1。在我们致力于编写新代码的......
  • 如何用 Unity 做出一只赛博宠物(0代码新手向)
    推荐的一些学习资料unity官方文档:Unity用户手册(2019.4LTS)-Unity手册视频教程:https://www.bilibili.com/video/BV1zB4y1C7U9live2d官方文档:https://docs.live2d.com/zh-CHS/cubism-sdk-tutorials/top/https://docs.live2d.com/zh-CHS/cubism-sdk-manual/cubism-sdk-......
  • Linux异步通知---fasync_helper()、kill_fasync()函数介绍与使用
    转载:Linux异步通知---fasync_helper()、kill_fasync()函数介绍与使用_面朝大海0902的博客-CSDN博客一、fasync_helper()与kill_fasync()函数应用程序通过fcntl置FASYNC标志位,触发对应驱动文件的fasync()函数执行(上节有解释原因Linux异步通知—signal()、fcntl()函数介绍与使用),该......
  • Wordpress:安装谷歌GTM代码出现页面崩溃乱码的原因
    独立站做好之后,需要安装谷歌GTM代码利于数据追踪。但是按照要求装上后,出现了页面乱码。查看代码,发现代码写在body标签之内了, 进入网站后台,使用主题编辑器查看发现低47行尾标有两个>;将GTM代码移出放在>>之后,保存文件刷新即可。 修改后:   ......