gpt4 book ai didi

java - C 和 Python 代码到 Java 的帮助

转载 作者:太空宇宙 更新时间:2023-11-04 04:07:03 24 4
gpt4 key购买 nike

我正在尝试从 Java 文件中读取一些字节,然后根据一些数据以及其他数据的长度和偏移量创建位掩码。

我非常接近让我的程序正常工作,但我不断收到来自另一端的乱码数据。

我 90% 确定我的问题与 Java 读取字节的方式有关。

我的设计基于一些 Python 和 C 代码,但我不知道如何将其转换为 Java。我已经尝试将 byte[] 包装在 byteBuffer 中,但我仍然得到令人困惑的结果。

这就是我想要解决的问题:

位掩码:= 将 inputBuffer[inputIndex] 复制为 little-endian 格式的 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 的 byteOrder 设置为 littleEndian 并只使用 getInt

关于java - C 和 Python 代码到 Java 的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4774133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com