我对 Python 还很陌生,一直在尝试在 Java 中移植 python 脚本。 一段时间以来,我一直被以下代码逻辑困扰,试图将其转换为Java,但一直无法做到这一点(可能是因为我误解了实际执行的操作)
data = unpack('>H', file.read(2))
if data == 0xffff
then //do something
else //do something else
现在,我认为这是在上面的 python 脚本中完成的:- 以十六进制格式解压一个字符串(我相信,读取文件的前 2 个字节),然后检查它的值是否为 0)
我对拆包的看法正确吗?如果不是,那么拆包到底在做什么?是否通过此操作从文件对象获取子字符串:-
1 - 将文件读入字节数组
2 - 获取字节数组的前 2 个元素
然后做什么?
有人可以帮我用Java写出上面python中提到的逻辑吗?
最佳答案
在 java 中你需要一个 BigInteger,因为 Java 原生的 long 不能容纳任何大于 64 位的数据。
它可以使用字节数组进行初始化,所以应该没问题。
关于java - Java 中的 python struct.unpack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15289046/