| if (coding.Length % 4 != 0)//编码为16进制,必须为4的倍数。 { throw new System.Exception("编码格式不正确"); } for (int i = 0; i<coding.Length; i+=4 ) //每四位为一个汉字 { byte[] bytes = new byte[2]; string lowCode = coding.Substring(i, 2); //取出低字节,并以16进制进制转换 bytes[0] = System.Convert.ToByte(lowCode, 16); string highCode = coding.Substring(i + 2, 2); //取出高字节,并以16进制进行转换 bytes[1] = System.Convert.ToByte(highCode, 16); string character = System.Text.Encoding.Unicode.GetString(bytes); characters += character; } return characters; } public static void Main() { CodingChange code = new CodingChange(); string coding = code.CharacterToCoding("我们的大中国,是好在的一个家."); Console.WriteLine(coding); Console.WriteLine(code.CodingToCharacter(coding)); } }; |
最后输出的结果是:
C:\>test 1162ec4e847627592d4efd560cff2f667d5928578476004e2a4eb65b2e00 我们的大中国,是好在的一个家. C:\>
|