Java中的struct.unpack_from
我在Python中有以下指令我想用Java理解和翻译
values = struct.unpack_from('>%dL' % 96, input_content, 0)
>%dL是什么意思?
我已经检查了python http://docs.python.org/library/struct.html中的文档但没有关于百分比的信息。
我应该将每个返回值都视为Java中的一个字节,并将其转换为double或long?
谢谢你的帮助。
没有找到相关结果
已邀请:
3 个回复
感秆暴壳
是一个类似于
中的Python字符串格式化程序。它所说的是在结束引用之后的东西代替格式化器,在这种情况下
代替
。
指定有符号整数十进制。
是对
的指令,说它需要解包的东西是一个大的无符号长整数,其中包含无符号整数小数。在
传递到
之前,字符串格式化器被解析,
变为
。看看`struct.unpack docs中的格式字符串部分 http://docs.python.org/library/stdtypes.html#string-formatting http://docs.python.org/library/struct.html?highlight=struct.unpack#format-strings
距相镭
所以,
相当于
并且
文档应该告诉你'> 96L'表示96个bigendian无符号32位整数。 我无法想象为什么原作者以这种混淆的方式写它。如果项目的数量是可变的,那么有必要使用这样的技术来构建格式,但是当它是已知常量时则不是这样。
磋判粗惊
区别在于python代码使用已经加载的字节。 非常感谢John Machin和Matti的解释。