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:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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即可.