C# 将特殊字符编码到字节数组中

C# 将特殊字符编码到字节数组中,c#,.net,encoding,character-encoding,special-characters,C#,.net,Encoding,Character Encoding,Special Characters,几天前我问了一个关于德国特殊人物的问题。 我现在可以编码和解码像ö、ä或ü这样的字符。但是剩下一些字符,我也需要对它们进行编码/解码 例如,失败的字符:²³€µÜÖÄ´´§ 以下是代码: private static byte[] MyGetBytesArray(string data) { Encoding enc = new UTF8Encoding(true, true); return enc.GetBytes(data); }

几天前我问了一个关于德国特殊人物的问题。 我现在可以编码和解码像ö、ä或ü这样的字符。但是剩下一些字符,我也需要对它们进行编码/解码

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

以下是代码:

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

再次感谢你的帮助

编辑: 好的,我认为Unicode是有效的。这是我现在的加密/解密算法:/I我仍然不确定发生了什么(我认为这是一个带零的东西。在Unicode编码过程中,每个字符后面都是零),但是编码特殊字符WOKR。至少那次测试成功了:

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");
}

顺便说一句,编码。默认值正确吗

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


请尝试改用Unicode编码类。

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


尝试改用Unicode编码类。

改用Unicode编码

var encoding = new UnicodeEncoding();
return Write(encoding.GetBytes(s));

尝试使用Unicode编码

var encoding = new UnicodeEncoding();
return Write(encoding.GetBytes(s));

该代码应该能够将任何字符转换为UTF-8编码的字节数组,或将其转换为UTF-8编码的字节数组。你到底面临什么问题?您列出的字符以什么方式失败?该代码应该能够将任何字符转换为UTF-8编码字节数组或从UTF-8编码字节数组转换为UTF-8编码字节数组。你到底面临什么问题?您列出的字符以何种方式失败?Unicode是一种字符集,可以通过多种标准编码(如UTF-8和UTF-16)将其转换为字节
unicodeincoding
的名称相当糟糕,因为它实际上表示UTF-16编码。UTF-8能够表示任何Unicode字符。好吧,我根本不工作:/smallü,它在UTF8编码中很好,Unicode编码也失败了。@Marshall:请看我对你问题的评论-你需要告诉我们“失败”是什么意思。你如何使用你展示的代码;你期望的结果是什么?结果又是什么?对不起,我没看到。。我需要15分钟。我需要检查sthUnicode是否是一个字符集,它可以通过几种标准编码(如UTF-8和UTF-16)转换为字节
unicodeincoding
的名称相当糟糕,因为它实际上表示UTF-16编码。UTF-8能够表示任何Unicode字符。好吧,我根本不工作:/smallü,它在UTF8编码中很好,Unicode编码也失败了。@Marshall:请看我对你问题的评论-你需要告诉我们“失败”是什么意思。你如何使用你展示的代码;你期望的结果是什么?结果又是什么?对不起,我没看到。。我需要15分钟。我需要检查某事