C# 高,低位字节及多字节转换小结

1.查帖子偶然看到关于多字节转换,随笔记录小结,代码部分:

        private void button1_Click(object sender, EventArgs e)
        {
            //在 C# 中,BitConverter.ToUInt16 方法将按照小端字节序进行解析。
            //因此,在给定字节数组 temp 时,假设其按照小端字节序存储。则 temp[0] 是低位字节,temp[1] 是高位字节。
            //byte[] temp = new byte[] { 0x06, 0x01 };
            byte[] temp = new byte[] { 0x01, 0x06 };//temp[0]-0x01低位字节   ,temp[1]-0x06高位字节   =>综合就是0x0601==>十进制就是1537
            byte[] temp2 = new byte[] { 0x06, 0x01 };//temp[0]-0x06低位字节   ,temp[1]-0x01高位字节   =>综合就是0x0106==>十进制就是262
            pvValue[1] = BitConverter.ToUInt16(temp, 0);
            pvValue[2] = BitConverter.ToUInt16(temp2, 0);
            MessageBox.Show($"{pvValue[1]},{pvValue[2]}");

            //var shi1 = Convert.ToInt32("0x0601");//Wrong
            //在 C# 中,可以使用 Convert.ToInt32 方法将十六进制字符串转换为整数,例如:
            string hexString = "0x0601";
            int decimalValue = Convert.ToInt32(hexString, 16);
            //这个例子中,hexString 是要转换的十六进制字符串,16 是基数参数,表示将字符串视为十六进制数。转换结果将存储在 decimalValue 变量中。
            //需要注意的是,如果输入的字符串不是有效的十六进制格式,将会抛出异常。因此,在使用这个方法时,需要确保输入的字符串是一个有效的十六进制数。

            var shi2 = Convert.ToInt32(0x0106);
        }

你可能感兴趣的:(C#,新手村,c#,开发语言)