Unicode字符串到中文字符

时间:2012-11-13 07:59:51

标签: c# unicode character-encoding bytearray cjk

我有一个unicode字符串,让我们说“U + 660E”,我想显示相应的字符,在这种情况下是明字。请参阅this page(ctrl-F查找明)。

到目前为止我的代码:

string unicodeString = reader.GetString(0);
unicodeString.Trim();

Encoding codepage = Encoding.GetEncoding(950);
Encoding unicode = Encoding.Unicode;
byte[] encodedBytes = codepage.GetBytes(unicodeString);
//unicodeString = Encoding.Convert(codepage, unicode, encodedBytes).ToString();
unicodeString = unicode.GetString(encodedBytes);
richTextBox1.Text = unicodeString;

我的输出是“⭕㘶䔰 ”。 我知道哪里出错了?

2 个答案:

答案 0 :(得分:1)

.net直接处理unicode。你必须玩编码游戏。只需告诉读者输入是UTF-8还是UTF-16,然后将其作为普通字符串处理。

richTextBox1.Text = reader.GetString(0)

答案 1 :(得分:1)

无需转换为CP-950; C#是Unicode直通式。只需输入并打印为Unicode,除非您输出到您知道必须是CP-950的文件。