- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.NET;
- namespace ConsoleApplication1
- {
- class Program
- {
- static void Main(string[] args)
- {
- /*************** 将 16 进制字符串 解码成 字符串 ***************/
- string strData1 = "56312E31";
- string getData1 = "";
- // 声明一个 byte 数组, 大小为 16 进制字符串 长度的一半, 因为 16 进制数据都是两个一组
- byte[] buf1 = new byte[strData1.Length / 2];
- for (int i = 0; i < strData1.Length; i += 2)
- {
- // 将 16 进制字符串 中的每两个字符转换成 byte, 并加入到新申请的 byte 数组 中
- buf1[i / 2] = Convert.ToByte(strData1.Substring(i, 2), 16);
- }
- // 将 byte 数组 解码成 字符串:
- getData1 = Encoding.Default.GetString(buf1);
- Console.WriteLine("56312E31 对应的字符串是:" + getData1);
- /***************** 将 16 进制字符串 解码成 汉字 *******************/
- string strData2 = "C1F5D5F1D3A2";
- string getData2 = "";
- byte[] buf2 = new byte[strData2.Length / 2];
- for (int i = 0; i < strData2.Length; i += 2)
- {
- buf2[i / 2] = Convert.ToByte(strData2.Substring(i, 2), 16);
- }
- // 解码成汉字
- getData2 = Encoding.GetEncoding("GB2312").GetString(buf2);
- Console.WriteLine("C1F5D5F1D3A2 对应的字符串是:" + getData2);
- Console.ReadKey();
- }
- }
- }
来源: http://www.bubuko.com/infodetail-3113044.html