码迷,mamicode.com
首页 > 其他好文 > 详细

10.4、

时间:2020-04-07 22:41:53      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:byte   数据   inf   dia   bytes   整数   解决   转换   assert   

Python提供了一个struct模块来解决bytes和其他二进制数据类型的转换。

struct的pack函数把任意数据类型变成bytes:

技术图片

 

 >表示字节顺序是big-endian,也就是网络序,I表示4字节无符号整数。

技术图片

 

 I:4字节无符号整数和H:2字节无符号整数

 

技术图片

 

 

def bmp_info(data):
    bmp=struct.unpack(‘<ccIIIIIIHH‘,data[:30])  #获取前30个字节
    if bmp[0]==b‘B‘ and bmp[1]==b‘M‘:
        dict={}
        dict[‘width‘]=bmp[6]
        dict[‘height‘]=bmp[7]
        dict[‘color‘]=bmp[9]
        return dict

bi = bmp_info(bmp_data)
assert bi[‘width‘] == 28
assert bi[‘height‘] == 10
assert bi[‘color‘] == 16
print(‘ok‘)

ok

 

10.4、

标签:byte   数据   inf   dia   bytes   整数   解决   转换   assert   

原文地址:https://www.cnblogs.com/soberkkk/p/12656308.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!