我现在正在做加密算法,我也需要加密德语单词。所以我必须加密例如字符:ü、ä 或 ö。
里面有一个函数:
private static byte[] getBytesArray(string data)
{
byte[] array;
System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
array = asciiEncoding.GetBytes(data);
return array;
}
但是当数据是“ü”时,数组中返回的字节是 63(所以是“?”)。我怎样才能返回 ü 字节?
我也试过:
private static byte[] MyGetBytesArray(string data)
{
byte[] array;
System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
Encoding enc = new UTF8Encoding(true, true);
array = enc.GetBytes(data);
return array;
}
但在这种情况下,我在数组中得到了 2 个字节:195 和 188。
最佳答案
请将 System.Text.ASCIIEncoding 替换为 System.Text.UTF8Encoding 并在您的第一个示例中相应地重命名编码对象。 ASCII 基本上不支持德语字符,所以这就是为什么您必须使用其他编码(UTF-8 似乎是这里最好的主意)。
请看这里:ASCII Encoding在这里:UTF-8 Encoding
关于c# - 放入字节数组的德语特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13230259/