当前位置: 代码迷 >> C# >> byte数组转换为uint32,该如何处理
  详细解决方案

byte数组转换为uint32,该如何处理

热度:72   发布时间:2016-05-05 03:02:37.0
byte数组转换为uint32
大侠好,小弟有个问题需要请教下
有一个数组比如

            byte[] rec=new byte [4];
            rec[0] = 1;//十六进制是01
            rec[1] = 20;//十六进制是14
            rec[2] = 75;//十六进制是4B
            rec[3] = 120;//十六进制是78
            //如何将rec 转换成如下ut的形式
            UInt32 ut = 0x01144B78;
------解决思路----------------------
static uint FromByteBE(byte[] bs)
{
    return (uint)((bs[0] << 24) + (bs[1] << 16) + (bs[2] << 8) + bs[3]);
}

------解决思路----------------------
漏了个参数
ut = BitConverter.ToUInt32(rec, 0)

------解决思路----------------------
转换时移位操作就行了


        private void button1_Click(object sender, EventArgs e)
        {
            byte[] rec = new byte[4];
            rec[0] = 1;//十六进制是01
            rec[1] = 20;//十六进制是14
            rec[2] = 75;//十六进制是4B
            rec[3] = 120;//十六进制是78

            int ut = bytesToInt(rec, 0);

        }

        //字节转int
        public static int bytesToInt(byte[] src, int offset)
        {
            int value;
            value = (int)(((src[offset] & 0xFF) << 24)
                    
------解决思路----------------------
 ((src[offset + 1] & 0xFF) << 16)
                    
------解决思路----------------------
 ((src[offset + 2] & 0xFF) << 8)
                    
------解决思路----------------------
 (src[offset + 3] & 0xFF));
            return value;
        }
  相关解决方案