2024-09-28 19:04:54 发布
网友
我有一个二进制字符串,我正试图转换成整数。块最初是8个十六进制字符,并转换成二进制。如何将其转换为64位int值?在
s = 'Q\xcb\x80\x80\x00\x00\x01\x9bQ\xcc\xd2\x00\x00\x00\x01\x9b' date_chunk = s[0:8] value_chunk = s[8:]
看起来像是赫克斯现在我得到它打印。我怎么做两个整数?第一个是从纪元开始编码为秒的日期。在
import struct struct.unpack(">QQ",s)
或者
取决于生成字节的计算机的端号
struct模块解包二进制文件。将qq用于有符号整数。在
struct
qq
>>> s = 'Q\xcb\x80\x80\x00\x00\x01\x9bQ\xcc\xd2\x00\x00\x00\x01\x9b' >>> len(s) 16 >>> import struct >>> struct.unpack('>QQ',s) # big-endian (5893945824588595611L, 5894316909762970011L) >>> struct.unpack('<QQ',s) # little-endian (11169208553011465041L, 11169208550869355601L)
你还提到了一个原始的8个十六进制字符。在这种情况下使用binascii.unhexlify函数。示例:
binascii.unhexlify
或者
^{pr2}$取决于生成字节的计算机的端号
struct
模块解包二进制文件。将qq
用于有符号整数。在你还提到了一个原始的8个十六进制字符。在这种情况下使用
^{pr2}$binascii.unhexlify
函数。示例:相关问题 更多 >
编程相关推荐