Character Code

01ABcd2 3

56EFef5 6

C# の Character Code(Unicode)を調べます。

プログラムの説明

  1. 現在使われている Windows System の文字コードは MultiByte ですが、C# では Unicode が使われています。
    C# で使われている Unicode をバイト形式で定義して印字してみましょう。
    Shift_JIS & Unicodeは Program Guid を参照して下さい。
  2. MessageBox.Show() を使うので using System.Windows.Forms; を定義して下さい。
    ソリューション・エクスプローラーで「参照設定」を右クリックして「参照の追加」を選択します。
    System.Windows.Forms.dll を追加します。
  3. TEXT ファイルの形式に合わせて、byte 配列で文字を定義してみました。
    半角数字の「5」は 0x0035 ですが、ファイル上では 00 と 35 が前後逆に格納されています。
        static byte[] byt =
        {   0x35, 0x00, 0x36, 0x00, 0x45, 0x00, 0x46, 0x00,
            0x65, 0x00, 0x66, 0x00, 0x15, 0xff, 0x16, 0xff
        };
        
  4. byte から char に変換するときは、右側(後側)を8ビット左シフトして下さい。
        static char[] ch = new char[8];
    
        ch[0] = (char)(byt[0]+(byt[1]<<8));
        
  5. char 配列を string に変換して MessageBox で表示します。
        MessageBox.Show(new string(ch));
        
  6. ソースコードです。
    /*************************************************/
    /*★ Byte → Char → String で表示     前田 稔 ★*/
    /*************************************************/
    using System;
    using System.Windows.Forms;
    
    class Prog
    {
        static char[] ch = new char[8];
        static byte[] byt =
        {   0x35, 0x00, 0x36, 0x00, 0x45, 0x00, 0x46, 0x00,
            0x65, 0x00, 0x66, 0x00, 0x15, 0xff, 0x16, 0xff
        };
        public static void Main()
        {
            ch[0] = (char)0x0030;
            ch[1] = (char)0x0031;
            ch[2] = (char)0x0041;
            ch[3] = (char)0x0042;
            ch[4] = (char)0x0063;
            ch[5] = (char)0x0064;
            ch[6] = (char)0xff12;
            ch[7] = (char)0xff13;
            MessageBox.Show(new string(ch));
    
            ch[0] = (char)(byt[0]+(byt[1]<<8));
            ch[1] = (char)(byt[2]+(byt[3]<<8));
            ch[2] = (char)(byt[4]+(byt[5]<<8));
            ch[3] = (char)(byt[6]+(byt[7]<<8));
            ch[4] = (char)(byt[8]+(byt[9]<<8));
            ch[5] = (char)(byt[10]+(byt[11]<<8));
            ch[6] = (char)(byt[12]+(byt[13]<<8));
            ch[7] = (char)(byt[14]+(byt[15]<<8));
            MessageBox.Show(new string(ch));
        }
    }
    
  7. char型を byte型に Cast する方法は byte型の Pointer で char型を Cast を参照して下さい。
    byte型の Pointer で文字を Cast する方法は byte型の Pointer で文字を設定 を参照して下さい。

超初心者のプログラム入門(C# Frame Work)