“IBM437”不是ZipFile Read Method支持的编码名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“IBM437”不是ZipFile Read Method支持的编码名称相关的知识,希望对你有一定的参考价值。

当我的代码使用以下代码执行此操作时出现问题:

using (ZipFile archive = ZipFile.Read(File))    //<== Crash Here!
{
    foreach (ZipEntry entry in archive.Entries)
    {
        entry.Extract(UnZipFolder.Name.ToString(), ExtractExistingFileAction.OverwriteSilently);   
    }
}

当ZipFile尝试读取我的文件时崩溃它是一个字符串并包含,sincrofit.zip然后崩溃并抛出此异常:

'System.ArgumentException'附加信息:'IBM437'不是受支持的编码名称。

答案

在Visual Studio中:1。打开包管理器控制台,然后键入Install-Package System.Text.Encoding.CodePages -Version 4.4.0。适当更改版本号。

  1. 将此行添加到您的代码中:Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);如果需要,附上必要的指令。

以上是关于“IBM437”不是ZipFile Read Method支持的编码名称的主要内容,如果未能解决你的问题,请参考以下文章

标准代码页(codepage)列表

从 ZipFile 中检索文件名

在内存中图像到 Zipfile

如何使用 python 提取封闭的 zip

14Python标准库系列之zipfile模块

ZipFile 关闭后 ZipEntry 是不是仍然存在?