Python提供了一个struct
模块来解决bytes
和其他二进制数据类型的转换。
>>> import struct
>>> struct.pack('>I', 10240099)
b'\x00\x9c@c'
# '>I'的意思是:>表示字节顺序是big-endian,也就是网络序,I表示4字节无符号整数。
>>> struct.unpack('>IH', b'\xf0\xf0\xf0\xf0\x80\x80')
(4042322160, 32896)
# 根据>IH的说明,后面的bytes依次变为I:4字节无符号整数和H:2字节无符号整数。
struct
模块定义的数据类型可以参考Python官方文档:
https://docs.python.org/3/library/struct.html#format-characters
网友评论