Python中的二进制数据

2024-09-28 19:04:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个二进制字符串,我正试图转换成整数。块最初是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:]

看起来像是赫克斯现在我得到它打印。我怎么做两个整数?第一个是从纪元开始编码为秒的日期。在


Tags: 字符串二进制整数字符intx00x01chunk
2条回答
import struct
struct.unpack(">QQ",s)

或者

^{pr2}$

取决于生成字节的计算机的端号

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函数。示例:

^{pr2}$

相关问题 更多 >