0

几天前我问了一个关于德语特殊字符的问题。我现在可以对 ö、ä 或 ü 等字符进行编码和解码。但是..还有一些字符,我也需要对它们进行编码/解码。

例如,失败的字符: ² ³ € µ Ü Ö Ä ~ ´ §

这是代码:

    private static byte[] MyGetBytesArray(string data)
    {
        Encoding enc = new UTF8Encoding(true, true);
        return enc.GetBytes(data);
    }

    private static string MyGetString(byte[] data)
    {
        Encoding enc = new UTF8Encoding(true, true);
        return enc.GetString(data);
    }

我正在寻找一种对所有字符进行编码/解码的解决方案。我正在编写一个加密/解密算法,我不知道什么用户会粘贴到程序中。我需要完全一样的回报。

再次感谢您的帮助。。

编辑:好的,UnicodeEncoding 有效(我认为)。现在这是我的加密/解密算法:/我仍然不确定发生了什么(我认为它是零。在 Unicode 编码期间,每个字符后面都是零),但是编码特殊字符工作。至少该测试是成功的:

string text = File.ReadAllText(opd.FileName, Encoding.Default);
byte[] byt = getBytesArray(text);
string text2 = getString(byt);

if (text2 == text)
{
    MessageBox.Show("OK");
}
else
{
    MessageBox.Show("FAIL");
}

顺便提一句。Encoding.Default 正确吗?

4

2 回答 2

3

请尝试使用 UnicodeEncoding。

var encoding = new UnicodeEncoding();
return Write(encoding.GetBytes(s));
于 2012-11-07T15:03:41.160 回答
2

不幸的是,这些字符是 Unicode,因此您将无法使用 UTF8Encoding 类。

尝试改用 UnicodeEncoding 类。

于 2012-11-07T15:02:18.753 回答