C#上位机嵌入式编程(一):16进制数据向Byte数组的转化

(1)使用System.BitConverter

     static void Main(string[] args){
            UInt64 sendData = 0xA000A908020001FE;
            byte[] bs = System.BitConverter.GetBytes(sendData);
//输出
for (int i = 0; i < bs.Length; i++) { Console.WriteLine(bs[i]); } }

 

(2)利用泛型接口List

        static void Main(string[] args)
        {
            List<byte> frameBytes = new List<byte>();
            frameBytes.Add(0XA0);
            frameBytes.Add(0X00);
            frameBytes.Add(0XA9);
            frameBytes.Add(0X08);
            frameBytes.Add(0X02);
            frameBytes.Add(0X00);
            frameBytes.Add(0X01);
            frameBytes.Add(0XFE);
            byte[] bss = frameBytes.ToArray();

            //输出
for (int i = 0; i < bss.Length; i++) { Console.WriteLine(bss[i]); } }

 (2.1)直接定义byte数组:

private byte[] sendFrame = new byte[] { 0xA0, 0x00, 0xA9, 0x08, 0x02, 0x00, 0x01, 0xFE };

 

(3)encoding

string message = "this is a message";
Encoding.Default.GetBytes(message);

//or
string message = "this is a message";
Encoding.ascii.GetBytes(message);

 

输出结果:

C#上位机嵌入式编程(一):16进制数据向Byte数组的转化_第1张图片

方法(一)与方法(二)所得结果刚好相反

暂不清楚是何原因。

 

你可能感兴趣的:(C#上位机嵌入式编程(一):16进制数据向Byte数组的转化)