0

「U+660E」などの Unicode 文字列があり、対応する文字 (この場合は明) を表示したいと考えています。このページを参照してください (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;

私の出力は「⭕㘶䔰�」です。私がどこで間違ったのか分かりますか?

4

2 に答える 2

1

.net は Unicode を直接扱います。エンコーディング ゲームをプレイする必要はありません。入力が UTF-8 か UTF-16 かをリーダーに伝えてから、通常の文字列として処理します。

richTextBox1.Text = reader.GetString(0)
于 2012-11-13T08:04:41.480 に答える
1

CP-950 に変換する必要はありません。C# は完全な Unicode です。CP-950 でなければならないことがわかっているファイルに出力する場合を除き、Unicode として入力して印刷するだけです。

于 2012-11-13T08:05:10.353 に答える