gzip流的解压问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 10:53:13
我用socket接收gzip流后,用GzipStream解压总是出错,以下是接收到得字节流
72848480474946493250484832797513106897116101583284117101443249483277971143250484
85732485058525058514832717784131083101114118101114583265112979910410113108697114
12158326599991011121164569110991111001051101031310671111101161011101164569110991
11100105110103583210312210511213106711111011610111011645761011101031161045832495
75113107510110111245651081051181015832116105109101111117116615344321099712061504
84813106711111011010199116105111110583275101101112456510810511810113106711111011
61011101164584121112101583211610112011647104116109108131013103113980000003227180
20148181123214180226197178198103243151190881912322491722220712824712310221720233
62304120151842301642184237231231228238941272424402172526252352525155234251548923
42515415221623213120218217232320522522922618041737620273133176138328413466113114
12611962037591364579219901591742191051639514612985205220165472188719310124597381
612

streamReceive = new GZipStream(streamReceive, CompressionMode.Decompress);//解压gzip流,但有一定的局限性 你是怎么解压的

gzip数据的头(幻数)为1f 8b 08 0000... 从你发的数据里面来看,这个流可能只是一个完整的数据流中间的一部分,而基于流式的压缩解压是必须要知道前文所产生的上下文的,不能从中间进行压缩解压,所以才会报错