所以我正在解析已知数量的字节。但是,前两个字节代表某个数字,然后下一个代表一个只有一个字节的数字,但接下来的四个字节可能都代表一个很大的数字。除了我的方式之外,还有更好的方法来解析数据。
switch (i) {
//Status
case 2:
temp[3] = bytes[i];
break;
case 3:
temp[2] = bytes[i];
ret.put("Status", byteArrayToInt(temp).toString());
break;
//Voltage
case 4:
temp[3] = bytes[i];
break;
case 5:
temp[2] = bytes[i];
ret.put("Voltage", byteArrayToInt(temp).toString());
break;
//Lowest Device Signal
case 6:
temp[3] = bytes[i];
break;
case 7:
temp[2] = bytes[i];
ret.put("Lowest Device Signal", byteArrayToInt(temp).toString());
clearBytes(temp);
break;
}
我正在循环遍历字节数组,并且我有一个开关,它知道哪些字节到哪个位置,例如我知道第二个和第三个字节到状态码。所以我把它们组合成一个int。临时字节数组是一个 byte[] temp = new byte[4]。有没有更好的方法来做到这一点?