我正在解析一个已知字节数的数据。然而,前两个字节代表一个数字,接下来的一个字节代表一个仅有一个字节的数字,但是可能接下来的四个字节都代表一个很大的数字。除了我目前使用的方法,是否有更好的解析数据的方式?
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]。 有更好的方法吗?
i
的值是从byte[]本身读取的吗?您能提供有关数据结构的其他信息吗? - c.s.