如何在内存流中找到 Gzip 字符串的开头


byte[] httpDecompress(HttpDatagram http)
    {
        int magicnum = 0x1f8b;
        Stream str= http.Body.ToMemoryStream();
        using (var zipStream = new GZipStream(str, CompressionMode.Decompress))
        using (var resultStream = new MemoryStream())
        {
            zipStream.CopyTo(resultStream);
            return resultStream.ToArray();
        }
    }

有代码,但它给出了一个幻数错误。我怎样才能找到GZip字符串的开头,我认为问题的根源就在那里。谁能帮忙?

不知道 gzip 流从哪里开始可能是也可能不是您的问题。(事实上,可能不是。在任何情况下,您都可以搜索三字节序列1f 8b 08来识别候选 gzip 流。从1f开始解压缩,看看它是否真的是一个 gzip 流。

相关内容

  • 没有找到相关文章

最新更新