ZipFile (System.IO.Compression)、c# (WPF) 的字符提取问题



我正在尝试提取包含多个文件的zip。有些文件的名称中包含"§"字符("abc(§7(abc.txt">(。 拆包时,

System.IO.Compression.ZipFile.ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName);

但是,"§"字符被翻译成"õ"(拉丁小写字母O和波浪号(字符。

我已经尝试更改编码。但只有 ASCII 或 UTF-8(默认(

System.IO.Compression.ZipFile.ExtractToDirectory(sourceArchiveFileName, destinationDirectoryName, Encoding entryNameEncoding);

有人能够告诉我错误吗?

Windows在zip中的Unicode文件名上表现不佳。 使用 Enconding 850 可以解决这个问题。

Encoding.GetEncoding(850);

看起来它在 .Net Framework 4.8 中得到了修复,但我现在无法测试它。

来源:

https://devblogs.microsoft.com/oldnewthing/20180515-00/?p=98755 http://archives.miloush.net/michkap/archive/2012/01/04/10252916.html

相关内容

  • 没有找到相关文章

最新更新