C和Python代码到Java帮助

2024-04-29 12:03:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从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]

在我能正常工作之前,我的程序正在崩溃。在

有谁能提供关于实现这一点的最佳方法的信息吗?在

非常感谢

托尼


Tags: 文件数据代码程序字节方式java基础