gzip流的解压问题 100
我用socket接收gzip流后,用GzipStream解压总是出错,以下是接收到得字节流7284848047494649325048483279751310689711...
我用socket接收gzip流后,用GzipStream解压总是出错,以下是接收到得字节流
72848480474946493250484832797513106897116101583284117101443249483277971143250484
85732485058525058514832717784131083101114118101114583265112979910410113108697114
12158326599991011121164569110991111001051101031310671111101161011101164569110991
11100105110103583210312210511213106711111011610111011645761011101031161045832495
75113107510110111245651081051181015832116105109101111117116615344321099712061504
84813106711111011010199116105111110583275101101112456510810511810113106711111011
61011101164584121112101583211610112011647104116109108131013103113980000003227180
20148181123214180226197178198103243151190881912322491722220712824712310221720233
62304120151842301642184237231231228238941272424402172526252352525155234251548923
42515415221623213120218217232320522522922618041737620273133176138328413466113114
12611962037591364579219901591742191051639514612985205220165472188719310124597381
61278814895142197614851832361581102202481001991562311152695206157244116211236167
59154201582391572481789722808110138209250161033013420717435141000000000000000000
我去掉了包括13101310之前的所有html头,剩下的应该是gzip流了吧
另外请说明一下gzip的头是哪一部分,结尾是哪一部分
出错信息是 GZip头幻数错误,一直没看懂
好不容易才跟“知道管理员”要回这道题!!!再加50分!!! 展开
72848480474946493250484832797513106897116101583284117101443249483277971143250484
85732485058525058514832717784131083101114118101114583265112979910410113108697114
12158326599991011121164569110991111001051101031310671111101161011101164569110991
11100105110103583210312210511213106711111011610111011645761011101031161045832495
75113107510110111245651081051181015832116105109101111117116615344321099712061504
84813106711111011010199116105111110583275101101112456510810511810113106711111011
61011101164584121112101583211610112011647104116109108131013103113980000003227180
20148181123214180226197178198103243151190881912322491722220712824712310221720233
62304120151842301642184237231231228238941272424402172526252352525155234251548923
42515415221623213120218217232320522522922618041737620273133176138328413466113114
12611962037591364579219901591742191051639514612985205220165472188719310124597381
61278814895142197614851832361581102202481001991562311152695206157244116211236167
59154201582391572481789722808110138209250161033013420717435141000000000000000000
我去掉了包括13101310之前的所有html头,剩下的应该是gzip流了吧
另外请说明一下gzip的头是哪一部分,结尾是哪一部分
出错信息是 GZip头幻数错误,一直没看懂
好不容易才跟“知道管理员”要回这道题!!!再加50分!!! 展开
3个回答
展开全部
引用:
如果有使用Zip.DecompressFile()方法去解压标准的ZIP文件,就会出现以下错误:
GZip 头中的幻数不正确。请确保正在传入 GZip 流。
此外,使用Zip.CompressFile()方法也不能将多个文件放入一个ZIP包。
看来,FCL2.0还是不能处理标准的ZIP文件,我目前是使用第三方的ICSharpZipLib来处理ZIP文件
似乎发现都是用第三方的库比较多
GZIP格式说明
http://hi.baidu.com/skyyzq/blog/item/366ecc1f66785f0b314e156f.html
如果有使用Zip.DecompressFile()方法去解压标准的ZIP文件,就会出现以下错误:
GZip 头中的幻数不正确。请确保正在传入 GZip 流。
此外,使用Zip.CompressFile()方法也不能将多个文件放入一个ZIP包。
看来,FCL2.0还是不能处理标准的ZIP文件,我目前是使用第三方的ICSharpZipLib来处理ZIP文件
似乎发现都是用第三方的库比较多
GZIP格式说明
http://hi.baidu.com/skyyzq/blog/item/366ecc1f66785f0b314e156f.html
参考资料: http://hi.baidu.com/tmk_xj/blog/item/2ed15e4f39c52a30afc3ab96.html
展开全部
streamReceive = new GZipStream(streamReceive, CompressionMode.Decompress);//解压gzip流,但有一定的局限性 你是怎么解压的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
gzip数据的头(幻数)为1f 8b 08 0000... 从你发的数据里面来看,这个流可能只是一个完整的数据流中间的一部分,而基于流式的压缩解压是必须要知道前文所产生的上下文的,不能从中间进行压缩解压,所以才会报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询