簡體   English   中英

如何在MemoryStream中找到Gzip字符串的開頭?

[英]How can i find the start of Gzip string in a MemoryStream?

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流。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM