我现在正在做加密算法,我也需要加密德语单词。因此,我必须对字符进行加密,例如:ü、ä或ö。
在里面我有一个函数:
private static byte[] getBytesArray(string data)
{
byte[] array;
System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
array = asciiEncoding.GetBytes(data);
return array;
}但是当data是"ü“时,数组中返回的字节是63 (所以"?")。如何返回übyte?
我也试过了:
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;
}但在本例中,我得到了两个字节的数组: 195和188。
发布于 2012-11-05 18:40:38
在第一个示例中,请将System.Text.ASCIIEncoding替换为System.Text.UTF8Encoding,并相应地重命名编码对象。ASCII基本上不支持德语字符,所以这就是为什么您必须使用其他一些编码(UTF-8似乎是最好的选择)。
请看这里:ASCII Encoding和这里:UTF-8 Encoding
发布于 2013-09-02 18:03:06
你可以使用这个
System.Text.Encoding utf_8 = System.Text.Encoding.UTF8;
// This is our Unicode string:
string s_unicode = "abcéabc";
// Convert a string to utf-8 bytes.
byte[] utf8Bytes = System.Text.Encoding.UTF8.GetBytes(s_unicode);
// Convert utf-8 bytes to a string.
string s_unicode2 = System.Text.Encoding.UTF8.GetString(utf8Bytes);https://stackoverflow.com/questions/13230259
复制相似问题