gpt4 book ai didi

c# - C# 中的德语字母和编码

转载 作者:太空狗 更新时间:2023-10-29 18:12:03 27 4
gpt4 key购买 nike

我有一个解压功能,我正在使用 System.Text.Encoding 来确保正在解压的文件在解压后保持相同的名称,因为通常我解压的文件包含德国字母。
我尝试了不同的东西,比如 Encoding.DefaultEncoding.UTF8 但没有任何效果äÄéöÖüß.txt 被转换为 „Ž‚”™á.txt 或者在默认情况下它是黑框 :/

有什么建议吗?

using (ZipArchive archive = System.IO.Compression.ZipFile.Open(ZipFile, ZipArchiveMode.Read, System.Text.Encoding.Default))
{

foreach (ZipArchiveEntry entry in archive.Entries)
{
string fullPath = Path.Combine(appPath, entry.FullName);
if (String.IsNullOrEmpty(entry.Name))
{
Directory.CreateDirectory(fullPath);
}
else
{
if (!entry.Name.Equals("Updater.exe"))
{
entry.ExtractToFile(fullPath,true);

}
}
}
}

最佳答案

试试 CodePage 850(对我有用):

using (ZipArchive archive = System.IO.Compression.ZipFile.Open(ZipFile, ZipArchiveMode.Read,  System.Text.Encoding.GetEncoding(850)))
{
// ....

下一条评论来自(一个古老的版本)Sharpziplib,它让我走上了正确的方向:

    /* Using the codepage 1252 doesn't solve the 8bit ASCII problem :/
any help would be appreciated.

// get encoding for latin characters (like ö, ü, ß or ô)
static Encoding ecp1252 = Encoding.GetEncoding(1252);
*/

// private static Encoding _encoding = System.Text.ASCIIEncoding;
private static Encoding _encoding = System.Text.Encoding.GetEncoding(850);

最后一行是我的更改,使其能够正确读取带有特殊字符的 zip 文件。

关于c# - C# 中的德语字母和编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19997312/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com