Arrays 从数据包中排列字节

Arrays 从数据包中排列字节,arrays,byte,Arrays,Byte,我制作了一个小程序来读取我的mac地址,但我无法使读取的内容看起来正确。 现在我的输出看起来像302545261200 但我希望它看起来像00:12:26:45:25:30 下面是我使用的代码片段 案例“MAC”: 好的,您的循环正在反转它们,所以不要惊讶于字节的顺序。谢谢您的回复,如果我将其设置为cmd=HexToByte(StrObytes);序列写入(cmd,0,cmd.Length);read_MAC=新字节[500];睡眠(500);ser.Read(Read_MAC,0,ser.By

我制作了一个小程序来读取我的mac地址,但我无法使读取的内容看起来正确。 现在我的输出看起来像302545261200 但我希望它看起来像00:12:26:45:25:30

下面是我使用的代码片段

案例“MAC”:


好的,您的循环正在反转它们,所以不要惊讶于字节的顺序。谢谢您的回复,如果我将其设置为cmd=HexToByte(StrObytes);序列写入(cmd,0,cmd.Length);read_MAC=新字节[500];睡眠(500);ser.Read(Read_MAC,0,ser.BytesToRead);输出为2646120012264525300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f471e。我是编程新手,我的眼睛还没有睁开。明白了,但我想知道是否有更简单的方法<代码>用于(int i=3;i
                cmd = HexToByte(StrObytes);
                ser.Write(cmd, 0, cmd.Length);
                read_MAC = new byte[500];
                Thread.Sleep(500);
                ser.Read(read_MAC, 0, ser.BytesToRead);
                mac_bytes = new byte[6];
                int u = 0;
                for (int i = 8; i >= 3; i--)
                {
                    mac_bytes[u] = read_MAC[i];
                    u++;
                }

                textBox1.Text = ByteArrayToString(mac_bytes);
                break;