如何在 struct python
中打包给定的 struct t1
。
我看到这里给出了很多例子https://docs.python.org/2/library/struct.html打包值,例如:
包('hhl', 1, 2, 3)
。
但是如何在 struct python
示例中打包 c 类型 struct t1
。
struct s {
int16_t x;
int8_t y;
uint8_t z;
};
struct t1 {
int16_t x;
struct s y;
};
最佳答案
似乎没有将结构打包成结构的内置方法,但您可以手动完成。您将第一个结构打包成二进制数据,然后使用 s
格式字符将该二进制数据打包到第二个结构中:
s= struct.Struct('hbB')
t1= struct.Struct('h{}s'.format(s.size))
buffer= t1.pack(1, s.pack(2,3,4))
解压它:
loaded_t1= t1.unpack(buffer)
loaded_s= s.unpack(loaded_t1[1])
关于python - 如何使用 python 结构将结构打包到结构中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42556035/