java - 字节到整数

标签 java

我正在尝试将字节转换为整数。我所做的所有搜索都使用 byte[],我假设它是任何数组。我想转换 F 字节(不是如下所示的 b),但它给出了更改错误:不适用于参数。

    byte F;
    mmInStream.read(packetBytes);            

    b [counter]= packetBytes[0];             
    F=b [counter];
    counter++;
    temp = byteToInt(b); //Convert byte to int

这是我在其中一个网站上找到的一个 byte To Int。

    private int byteToInt(byte[] b) {

        int value= 0;
    for(int i=0;i<b.length;i++){                
        int n=(b[i]<0?(int)b[i]+256:(int)b[i])<<(8*i);             
    value+=n;
   }         
   return value; 

    }

最佳答案

简单地做:

byte b = ...;
int signedInt = b; // For negative bytes, resulting in negative ints
int unsignedInt = 0xFF & b; // For negative bytes, resulting in positive ints

仅供引用:int 是 4 个字节。因此,这就是您在互联网上找到的方法使用字节数组的原因。他们假设您传递一个 4 字节数组,该数组将被拼接在一起形成一个 int。

关于java - 字节到整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18744461/

相关文章:

java - 区分 Android 应用程序的调试和生产版本

java - 从java中的另一个类调用另一个函数

java - 为什么java程序可以编译但不能运行?

java - 优化查询 : DBMS_METADATA. GET_DDL (Oracle)

java - 使用 pdfTron 创建带有参数 Inputstream 的 PDFDoc 时出现问题

javadoc 子集/java 库组织

java - 在 Java 中,如何将 String 格式变量占位符传递给另一个 String 格式化程序?

java - 从反射 Java 获取类类型

java - 使用 im4java 进行图像比较

java - 如何在 Java 源代码中存储 key 而不是人类可读的