(original) (raw)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication2 { class Program { public static void Main() { Char[] chars = new Char[0xF8FF - 0xe000 + 1]; for (int i=0xe000; i<=0xF8FF; i++) { chars[i - 0xe000] = (char)i; } // Encode characters using an Encoding object. Encoding encoding = Encoding.GetEncoding("GB2312"); //Encoding encoding = Encoding.GetEncoding("GB18030"); Encoding unicodeEncoding = Encoding.Unicode; Console.Write("Using Encoding\n--------------\n"); for (int i = 0; i < 6399; i++) { Byte[] fromGB2312 = encoding.GetBytes(chars, i, 1); Byte[] fromUnicode = new Byte[2]; fromUnicode[0] = (Byte)((chars[i] >> 8) & 0xFF); fromUnicode[1] = (Byte)((chars[i]) & 0xFF); Console.Write("0x"); ShowArray(fromGB2312); Console.Write(" "); Console.Write("0x"); ShowArray(fromUnicode); Console.Write(" #PRIVATE USE AREA-"); ShowArray(fromUnicode); Console.Write("\n"); } } public static void ShowArray(Array theArray) { foreach (Object o in theArray) { Console.Write("{0:X2}", o); } } } }