java - Java 中的 struct.unpack_from

标签 java python binary struct

我有以下 Python 指令,我想用 Java 理解和翻译

values = struct.unpack_from('>%dL' % 96, input_content, 0)

>%dL 是什么意思? 我已经检查了来自 python http://docs.python.org/library/struct.html 的文档但没有关于百分比。 我是否应该将每个返回值都视为 Java 中的一个字节并将其转换为 double 或 long ?

感谢您的帮助。

最佳答案

%d 是一个类似于 C 中的 Python 字符串格式化程序。它所说的是将结束引号之后的内容放在格式化程序的位置,在本例中是 96 代替 %d%d 指定一个有符号整数十进制数。

'>%dL'%96 是对 struct.unpack 的指令,表示它需要解压的是一个大端无符号长整型和一个无符号它里面的整数小数。在 '>%dL' 被传递给 unpack 之前,字符串格式化程序被解析并且 '>%dL' 变成了 '> 96L'。查看`struct.unpack 文档中的格式字符串部分

http://docs.python.org/library/stdtypes.html#string-formatting

http://docs.python.org/library/struct.html?highlight=struct.unpack#format-strings

关于java - Java 中的 struct.unpack_from,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4842451/

相关文章:

python - 如何将压缩的二进制文件读取为 float 组

java - 错误: unreported exception InterruptedException; must be caught or declared to be thrown (calling AsyncTask)

python - 如何使用python脚本停止/关闭音频文件(mp3/.wav)

python - C 程序执行 bash 脚本 + 传递其命令行参数

c++ - 我的代码有效,但我对效率不满意。 (C++ int 到二进制到 scaled double)

r - 从 r 中的多个列表制作二进制(存在/不存在)数据矩阵

java - 从 Java 中的 Oracle 存储过程获取结果集

检查数组是否为拉丁方的 Java 方法

java - android 调用栈解释

python - 网页抓取 : How to extract just the Information that I need