python3 bytes解析为数字 struct unpack

主要分为解析为 UINT8、UINT16、UINT32、UINT64等数字类型,即分别对应将每1、2、4、8个字节放一起解释为一个数字,这其中对于多于一个字节的情况又分大小端处理
推荐使用自带的struct库解析,方法比较通用
用法
strcut.unpack(fmt, byte) 返回值是一个list,从二进制流类型,变为int型
其中fmt为格式化字符串,分为两部分,开头控制大小端,后面通过字符控制数字类型,常用如下

fmt 含义
! 大端序,和>相同

大端序
< 小端序
B uint8类型
b int8类型
H uint16类型
h int16类型
I uint32类型
i int32类型
L uint64类型
l int64类型
s ascii码,s前带数字表示个数

更多详细fmt的用法可用help(strcut)
例子

import struct

m = b'\x01\x01\x02\x01\x02\x03\x04' #7个字节
a=struct.unpack('!BHI', m) 

for i in a:
    print(hex(i)) # 0x1 0x102 0x1020304

python3 bytes解析为数字 struct unpack_第1张图片

你可能感兴趣的:(pyqt,python)