Python: 将结构对象缓冲区转换为无符号整数
我刚开始学习Python,所以我想知道如何从下面定义的结构体对象中提取缓冲区,把整个缓冲区转换成一个整数。
g = 12463
h = 65342
i = 94854731
j = 9000
class Blah(Structure):
_fields_ = [
("a", ctypes.c_int32, 17),
("b", ctypes.c_int32, 19),
("c", ctypes.c_int64, 54),
("d", ctypes.c_int64, 33)]
x = Blah(g, h, i, j)
y = [an unsigned python integer from x]
那么,当Blah对象的字节缓冲区的大小本身大于64位时,我该如何得到y的整数值呢?
1 个回答
0
与其使用ctypes
结构,不如用位移操作来组合整数。
y = g << 160 + h << 128 + i << 64 + j