如何在Python上处理包含3字节单词的二进制数据?

如何在Python上处理包含3字节单词的二进制数据?,python,python-3.5,binaryfiles,Python,Python 3.5,Binaryfiles,我需要在大端主机上读取包含24位小端字的二进制数据结构。但是这个 以下是示例数据帧的转储: 7F 01 00 00 02 00 00 76 DE 77 -- -------- -------- ----- -- | | | | | | | | | | | | | | \ End of frame | | | | | | |

我需要在大端主机上读取包含24位小端字的二进制数据结构。但是这个

以下是示例数据帧的转储:

7F 01 00 00 02 00 00 76 DE 77
-- -------- -------- ----- --
 |    |        |       |    |
 |    |        |       |    |
 |    |        |       |    \ End of frame
 |    |        |       |
 |    |        |       \ 16 bits checksum
 |    |        |
 |    |        \ Second 24 bits word
 |    |
 |    \ First 24 bits word
 |
 \ Start of frame

使用
struct
读取3字节单词是否有解决方法?

按单词,我假定您指的是二进制数据单位(即处理器字大小)?你不能直接解析字节数组来得到你想要的吗?把它读入两个变量(1和2字节),然后合并。。。或者,在适当的位置插入两个0x00字节,然后将其作为4字节字读取。Yes@Error@确实是彼得里斯。现在,我把它们读为三个字节,并使用
int.from_bytes
——但这不知何故违背了使用
struct.struct
的目的。