我试图从Java文件中读入一些字节,然后从一些数据、长度和偏移量中创建位掩码。在
我离我的程序很快就要开始工作了,但是我总是从另一端得到一些乱七八糟的数据。在
我90%肯定我的问题与Java读取字节的方式有关。在
有一些Python和C代码是我设计的基础,但我不知道如何将它们转换成Java。我尝试过在byteBuffer中包装一个字节[],但仍然得到令人困惑的结果。在
这就是我想弄明白的:
位掩码:=以little-endian格式将inputBuffer[inputIndex]复制为32位整数-需要四个字节
在C中,这是通过以下方式实现的:
bitmask= (inputBuffer[inputIndex + 3] << 24) | (inputBuffer[inputIndex + 2] << 16) |
(inputBuffer[inputIndex + 1] << 8) | inputBuffer[inputIndex];
在Python中这是:bitmask= unpack("<L", inputBuffer[inputIndex:inputIndex + 4])[0]
在我能正常工作之前,我的程序正在崩溃。在
有谁能提供关于实现这一点的最佳方法的信息吗?在
非常感谢
托尼
您可以将ByteBuffer的字节顺序设置为littleEndian,然后使用getInt
相关问题 更多 >
编程相关推荐