在 xamarin pcl c# 中将字节数组转换为 Int



这是我的问题:我需要在 Xamarin PCL 上将字节数组转换为 C# 中的 int。但是我已经尝试过这个:

byte[] fromBoardSerial = new byte[3];
fromBoardSerial[0] = 0x04
fromBoardSerial[1] = 0x93
fromBoardSerial[2] = 0xe0
result = BitConverter.ToInt32(fromBoardSerial, 0);

解决方案

Array.Reverse(fromBoardSerial); //call before conversion

结果是:-527236096...相反。正确的结果应该是:300000如何在 Int 中从数组字节进行转换?

谢谢

看起来你在这里有两个问题:

  1. 字节数。必须有 4 个字节才能转换为 Int32。
  2. 字节顺序。看起来您试图"向后"计算您的数字。

看看这个代码:

byte[] fromBoardSerial = new byte[4];
fromBoardSerial[0] = 0xe0;
fromBoardSerial[1] = 0x93;
fromBoardSerial[2] = 0x04;
fromBoardSerial[3] = 0x00;
var result = BitConverter.ToInt32(fromBoardSerial, 0); // result = 300000

最新更新