首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >放入字节数组的德语特殊字符

放入字节数组的德语特殊字符
EN

Stack Overflow用户
提问于 2012-11-05 18:33:43
回答 2查看 2.6K关注 0票数 5

我现在正在做加密算法,我也需要加密德语单词。因此,我必须对字符进行加密,例如:ü、ä或ö。

在里面我有一个函数:

代码语言:javascript
复制
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?

我也试过了:

代码语言:javascript
复制
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。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-05 18:40:38

在第一个示例中,请将System.Text.ASCIIEncoding替换为System.Text.UTF8Encoding,并相应地重命名编码对象。ASCII基本上不支持德语字符,所以这就是为什么您必须使用其他一些编码(UTF-8似乎是最好的选择)。

请看这里:ASCII Encoding和这里:UTF-8 Encoding

票数 7
EN

Stack Overflow用户

发布于 2013-09-02 18:03:06

你可以使用这个

代码语言:javascript
复制
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);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13230259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档