我是java的新手。我收到字节数组中的UDP数据。字节数组的每个元素都具有十六进制值。我需要将每个元素转换为整数。
如何将其转换为整数?
答案 0 :(得分:7)
示例代码:
public int[] bytearray2intarray(byte[] barray)
{
int[] iarray = new int[barray.length];
int i = 0;
for (byte b : barray)
iarray[i++] = b & 0xff;
// "and" with 0xff since bytes are signed in java
return iarray;
}
答案 1 :(得分:2)
手动:迭代数组的元素并将它们转换为int
或使用Integer.valueOf()
创建整数对象。
答案 2 :(得分:1)
功能:返回字节数组的无符号值。
public static long bytesToDec(byte[] byteArray) {
long total = 0;
for(int i = 0 ; i < byteArray.length ; i++) {
int temp = byteArray[i];
if(temp < 0) {
total += (128 + (byteArray[i] & 0x7f)) * Math.pow(2, (byteArray-1-i)*8);
} else {
total += ((byteArray[i] & 0x7f) * Math.pow(2, (byteArray-1-i)*8));
}
}
return total;
}
答案 3 :(得分:0)