C# 以GZip解压缩

摘要:
GZip解压缩在解析某个站点的数据时使用。将memento保存到publicstaticstringGZipDecompressString(thistringzippedString){if(string.IsNullOrEmpty(zippedSString)||zippedSString.Length==0){return“”;}否则{byte[]zippedData=Convert.Fro

以GZip解压缩,这个在某次解析某站数据的时候用到了,保存留念

        public static string GZipDecompressString(this string zippedString)
        {
            if (string.IsNullOrEmpty(zippedString) || zippedString.Length == 0)
            {
                return "";
            }
            else
            {
                byte[] zippedData = Convert.FromBase64String(zippedString.ToString());
                return (string)(System.Text.Encoding.UTF8.GetString(Decompress(zippedData)));
            }
        }


public static byte[] Decompress(byte[] zippedData)
        {
            MemoryStream ms = new MemoryStream(zippedData);
            GZipStream compressedzipStream = new GZipStream(ms, CompressionMode.Decompress);
            MemoryStream outBuffer = new MemoryStream();
            byte[] block = new byte[1024];
            while (true)
            {
                int bytesRead = compressedzipStream.Read(block, 0, block.Length);
                if (bytesRead <= 0)
                    break;
                else
                    outBuffer.Write(block, 0, bytesRead);
            }
            compressedzipStream.Close();
            return outBuffer.ToArray();
        }

免责声明:文章转载自《C# 以GZip解压缩》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vue基本使用及脚手架使用dpdk test + dpdk-procinfo下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ORACLE rowid切分大表

通过如下sql获取rowid切分范围 SELECT rownum || ', ' || ' rowid between ' || chr(39) || dbms_rowid.rowid_create(1, DOI, lo_fno, lo_block, 0) || chr(39) || ' and ' || chr(39) ||...

最全的iOS面试题及答案-转载

1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原...

使用 java 创建你的第一个区块链(第一部分)

本系列教程的目的是帮助您了解如何开发区块链技术。 在本教程中,我们将: 创建你的第一个(非常)基本的“区块链”。 实施简单的工作证明(采矿)系统。 惊叹于可能性。 (我假设您对面向对象编程有基本的了解) 需要注意的是,本教程并没有生产区块链的完整功能。相反,这是一个概念实现的证明,以帮助您理解区块链,为以后的教程打基础。 1,安装 教程中使用 Java,...

IOS学习4——block代码块

本文转载自:iOS开发-由浅至深学习block 一、关于block 在iOS 4.0之后,block横空出世,它本身封装了一段代码并将这段代码当做变量,通过block()的方式进行回调。这不免让我们想到在C函数中,我们可以定义一个指向函数的指针并且调用: 1 bool executeSomeTask(void) { 2 //do somethin...

!important覆写css行内样式

<div class="block"> <span style="font-weight: bold; color: red;">Hello World</span> </div> 众所周知,行内式最高级的, 如果我们要想使用导入式的来取代这个行内式的最高级,该如何写呢,用!important 如: .blo...

iOS开发语法篇block详解

一:基本定义 /*初步上式block定义的一些理解和解释,接下来会详解: *block名为myBlock,结合C的函数指针,myBlock为block体的指针,指向block体的入口地址 *int result = myBlock(5) <==> ^(int num){return num*num}(5)//将5传给num *回调时可以将my...