python很多数据都是bytes格式的,经常需要转换成int或者short,笔者实际项目有需求,这里就做个笔记吧。

 

实例一:

bytes转short:(无符号类型)

 

import struct

barray = b'\x00\xfe\x4b\x00\x4b\x00'
count = len(barray)/2 
integers
= struct.unpack('H'*int(count), barray)

 

注意,这里面的count的长度要是偶数  ,不然会报错误.

转成有符号的,只需要把H改成h即可.

 

实例二:

bytes转int:

import struct

barray = b'\x00\xfe\x4b\x00\x4b\x00\x22\x44'
count = len(barray)/4 
integers = struct.unpack('i'*int(count), barray)

 

注意,这里面的count的长度要是四的倍数 ,不然会报错误.

转成无符号的,只需要把i改成I即可.

 

参考信息:

 

https://stackoverflow.com/questions/45187101/converting-bytearray-to-short-int-in-python