问题描述
ZIP文件的总体格式分文件头信息+文件压缩数据中心目录+中心目录记录结束符1.分文件头信息:字节数描述4分文件头信息标志(0x04034b50)2解压缩所需版本2通用比特标志位(置比特0位=加密;置比特1位=使用压缩方式6,并使用8k变化目录,否则使用4k变化目录;置比特2位=使用压缩方式6,并使用3个ShannonFano树对变化目录输出编码,否则使用2个ShannonFano树对变化目录输出编码,其它比特位未用)2压缩方式(0=不压缩,1=缩小,2=以压缩因素1缩小,3=以压缩因素2缩小,4=以压缩因素3缩小,5=以压缩因素4缩小,6=自展)2文件最后修改时间2文件最后修改日期432位校验码4压缩文件大小4未压缩文件大小2文件名长2扩展段长?文件名(不定长)?扩展段(不定长)求助,我已读出了“扩展段”的字节,如何解压(解码这段被压缩的字符串)?c#中的GZipStream或者DeflateStream?好像ZIP格式是DeflateStream的如何能解码?我之所以不用其它压缩工具(比如SharpZipLib)解压,是因为,该压缩包是坏的,我要修复解压问题焦点就是我获取到了这个被编码的字节,但是无法解码。也就是算法C#有没有现成的?这里有ZIP算法,太复杂了,时间紧张学不进去。http://blog.jobbole.com/76676/
解决方案
本帖最后由 xuse2008 于 2015-09-05 01:36:03 编辑
解决方案二:
引用System.IO.Compression.dll,使用ZipArchive
解决方案三:
http://www.cnblogs.com/skyivben/archive/2012/03/09/2388482.html
解决方案四:
C#4.5以上直接用System.IO.Compression