java - Java 中的 python struct.unpack

标签 java python

我对 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/

相关文章:

java - Hibernate 实体的最佳单元测试

java - 我只是想知道为什么它必须在第二个循环中加入线程

python - 第一个请求不会终止(无 FIN)uWSGI + nginx

python - 如何将列表写入 csv 文件?

python - 试图合并这个 unicode 字符串列表

java - 错误!线程 "AWT-EventQueue-0"java.lang.IllegalStateException : Not on FX application thread; currentThread = AWT-EventQueue-0 中的异常

java - 带有@Autowired注解的Spring依赖注入(inject),没有setter

java - 从外部存储读取图像文件并放置在 ImageView 中

python - 如何从前面弹出列表元素?

python - 为什么 pandas DataFrame 比 numpy ndarray 贵?