我正在尝试提取包含包含日语字符的文件的 zip 存档。
当我提取后查看它们的内容时,日文字符显示为乱码。Winrar/Winzip 也会发生这种情况,这就是我打算创建这个程序的原因。
起初我的文件名也有这个问题,但我用下面的代码中的编码解决了这个问题。
Dim subFolder As String = Path.GetFileNameWithoutExtension(fileInput(i))
Using zip = New ZipFile(fileInput(i), Encoding.GetEncoding(932))
For Each f In zip
Directory.CreateDirectory(dirOutput & "\" & subFolder)
f.Extract(dirOutput & "\" & subFolder, ExtractExistingFileAction.OverwriteSilently)
Next
End Using
我尝试了各种尝试使文件内容正确编码的方法,但都失败了。当我创建一个包含日文字符的文本文件并将其保存为 UTF8 并将其添加到新的 zip 存档中,然后使用以下代码将其解压缩时,内容输出正确。
但是我下载了几个 zip 文件,它们的行为方式不同,而是包含乱码。我有一个朋友没有遇到同样的问题,所以我 100% 确定这不是文件的编码问题,她使用的是日语系统区域设置,而我使用的是英语,但我希望能够在没有这些文件的情况下提取这些文件切换系统区域设置。