java中的字节数组到十进制转换

时间:2010-06-30 12:06:47

标签: java udp bytearray

我是java的新手。我收到字节数组中的UDP数据。字节数组的每个元素都具有十六进制值。我需要将每个元素转换为整数。

如何将其转换为整数?

4 个答案:

答案 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)