我有以下 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/