- ベストアンサー
C#文字コードの取得&変換
- C#で文字コードを調べるプログラムを作成しています。UNICODEの文字コードをリトルエディアンで出力する方法について教えてください。
- C#で文字コードを調べるプログラムを作成しています。文字コードから人間が読める文字に変換する方法について教えてください。
- C#で文字コードを調べるプログラムを作成しています。調べたい文字コードをビッグエディアンで出力する方法について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
フォームデザイナで, Form1に対し,TextBox1とButton1を貼り付け,以下のコードを入力。 ============================= Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim codePoint_string As String = TextBox1.Text Dim codePoint As Integer = Integer.Parse(codePoint_string) Me.Text = Char.ConvertFromUtf32(codePoint) End Sub End Class '========================= その後 http://homepage3.nifty.com/jgrammar/ja/tools/codeval0.htm を利用して 文字「あ」がUTF-32で00003042=12354であることを確認後 TextBox1に12354を入力してButtonをクリックしたら Form1に「あ」が表示された。・・・けどUTF-16だから違うんだよね? http://msdn2.microsoft.com/en-us/library/wdh8k14a(VS.80).aspx とか http://msdn2.microsoft.com/en-us/library/z2ys180b(VS.80).aspx とか使うのかもしれないけど良く解らん。
その他の回答 (1)
- himajin100000
- ベストアンサー率54% (1660/3060)
俺はVB.NET系のユーザだ。 ファイルやらビットやらは苦手で、殆ど検証していない。 なので勘だ。 (1) System.Text.Encoding.Unicodeプロパティではなく http://msdn2.microsoft.com/en-us/library/system.text.encoding.unicode.aspx System.Text.Encoding.BigEndianUnicodeプロパティを使うとどうなるか教えて欲しい http://msdn2.microsoft.com/en-us/library/system.text.encoding.bigendianunicode.aspx
お礼
早速のアドバイスありがとうございます。 Encoding.BigEndianUnicode で,満足できました。 見落としてました。本当に助かりました。
お礼
「あ~」と思わず叫んでしまいました。 そうですよね。 00003042=12354 ですよね。思い違いをしてました。FA11とか指定して,普通にInt.Parseしてました。 C#なので, string codePoint_string = tb_output_unicode.Text; int codePoint = Convert.ToInt16(codePoint_string, 16); char c = (char)codePoint; tb_input.Text = Convert.ToString(c); で,文字を取り出せました。 本当にありがとうございます。上の回答とあわせて本当に感謝感激です。