c# Gzip解码无头内容

Fork Me On Github
zodream 编程技术 C# 2022年04月

依赖

使用NuGet安装

 
SharpZipLib
1

主要代码

c#
                     
using ICSharpCode.SharpZipLib.Zip.Compression;


byte[] data; // 要解码内容
using var outputStream = new MemoryStream();
var inflater = new Inflater();
try
{
    inflater.SetInput(data);
    var buffer = new byte[2048];
    while (!inflater.IsFinished)
    {
        var count = inflater.Inflate(buffer);
        outputStream.Write(buffer, 0, count);
    }
}
catch (Exception)
{
    inflater.Reset();
}
byte[] res = outputStream.ToArray(); //解码结果
123456789101112131415161718192021

与 php gzuncompress 比较

gzuncompress 主要是不必考虑有无gzip头,都能进行解码

SharpZipLib 中默认的解码方法 GZipInputStream 并不支持无头内容,

点击查看全文
0 180 0