hmII

ICsharpCode.sharpZlib这个组件直接使用会出现解压缩中文时出现错误。所以需要更改一下作者的源代码。。。以下为版本0.86为例。

 

1)在源代码中找到 ZipInputSteam.cs文件,打开它然后定位到 GetNextEntry()这个函数内。

2)在GetNextEntry里面有一句代码是得到文件名的代码。

string name = ZipConstants.ConvertToStringExt(flags, buffer);

我们现在要改造一下这一句代码,其实就是变一下CodePage属性。。。。代码参考如下:

   int externallyDefinedCodepage = ZipConstants.DefaultCodePage; 

   ZipConstants.DefaultCodePage =System.Text.Encoding.Default.CodePage;  //出现乱码就是因为CodePage不对造成的。
   string name = ZipConstants.ConvertToStringExt(flags, buffer);

   ZipConstants.DefaultCodePage = externallyDefinedCodepage;

 

 

分类:

技术点:

相关文章: