ZipFile (System.IO.Compression)、c# (WPF) 的字符提取问题
char extraction issue with 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
我正在尝试解压缩包含多个文件的 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