from ctypes import *
class ProtocolToPLC(BigEndianStructure): # 大端模式 ,小端模式就是LittleEndianStructure
_pack_ = 1 # 1字节对齐
_fields_ =[('head0', c_uint8, 2), # 相当于c 中的 uint8_t :2
('head1', c_uint8, 6), # 相当于c 中的 uint8_t :6
('seq', c_uint16),
('year', c_ubyte),
('month', c_ubyte),
('day', c_ubyte)]
# 求字节数
sizeof()
# 按字节填充结构体
test = ProtocolToPLC()
memmove(addressof(test), data, sizeof(test))
python ctypes实现C结构体,字节对齐,大小端
最新推荐文章于 2023-04-19 10:15:00 发布