python很多数据都是bytes格式的,经常需要转换成int或者short,笔者实际项目有需求,这里就做个笔记吧。
实例一:
bytes转short:(无符号类型)
import struct
barray = b'x00xfex4bx00x4bx00'
count = len(barray)/2
integers = struct.unpack('H'*int(count), barray)
注意,这里面的count的长度要是偶数 ,不然会报错误.
转成有符号的,只需要把H改成h即可.
实例二:
bytes转int:
import struct barray = b'x00xfex4bx00x4bx00x22x44' count = len(barray)/4 integers = struct.unpack('i'*int(count), barray)
注意,这里面的count的长度要是四的倍数 ,不然会报错误.
转成无符号的,只需要把i改成I即可.
参考信息:
1 https://stackoverflow.com/questions/45187101/converting-bytearray-to-short-int-in-python