110,536
社区成员
发帖
与我相关
我的任务
分享
var b = new byte[] { 00, 00, 18, 64 }; //大端序
var n = BitConverter.ToInt32(b, 0);//直接转换
Console.WriteLine(n);//1074921472 结果不对
Console.WriteLine(BitConverter.ToInt32(b.Reverse().ToArray(), 0));//转置后转换 4672
Console.WriteLine(System.Net.IPAddress.NetworkToHostOrder(n));//网络转本地 4672
Console.WriteLine((((b[0] * 256) + b[1]) * 256 + b[2]) * 256 + b[3]); //验算 4672
具体情况要具体分析。显然你是不会一次只收到这4个字节的
用连续的 BitConvert.toInt(recBuffer,offs) 读取出所有的整形数后,再转成本地的比较稳妥