Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中字节数组到十进制的转换_Java_Udp_Bytearray - Fatal编程技术网

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

java中字节数组到十进制的转换,java,udp,bytearray,Java,Udp,Bytearray,我是java新手。我接收字节数组中的UDP数据。字节数组的每个元素都有十六进制值。我需要将每个元素转换为整数 如何将其转换为整数?手动:迭代数组元素并将其强制转换为int或使用integer.valueOf()创建整数对象。手动:迭代数组元素并将其强制转换为int或使用integer.valueOf()创建整数对象。以下是我发现的可能对您有用的东西以下是我发现的可能对您有用的东西示例代码: public int[] bytearray2intarray(byte[] barray) {

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


如何将其转换为整数?

手动:迭代数组元素并将其强制转换为
int
或使用
integer.valueOf()
创建整数对象。

手动:迭代数组元素并将其强制转换为
int
或使用
integer.valueOf()
创建整数对象。

以下是我发现的可能对您有用的东西

以下是我发现的可能对您有用的东西

示例代码:

 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;
 }
示例代码:

 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;
 }

函数:返回字节数组的无符号值

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;
}
publicstaticlongbytestodec(byte[]byteArray){
长总计=0;
for(int i=0;i
函数:返回字节数组的无符号值

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;
}
publicstaticlongbytestodec(byte[]byteArray){
长总计=0;
for(int i=0;i
恐怕OP不是这样问的。引用:将每个元素转换为整数。如果输入为{0xf1,0x00},则输出为61696。这是f100的十进制值。我认为它工作得很好。恐怕这不是OP所要求的。引用:将每个元素转换为整数。如果输入为{0xf1,0x00},则输出为61696。这是f100的十进制值。我认为它工作得很好。