这可能是一个简单的问题。我正在使用Python 3阅读二进制MIDI文件,而我在理解如何将十六进制值\x00\x00\x00\x06
转换为整数时遇到问题,因为我不知道如何处理斜杠\
。为了获得这个值,我使用
with open("/path/to/midi/file.mid", "rb") as f:
header_chunk = f.read(4)
length = f.read(4)
length
最终会得到一个值为b"\x00\x00\x00\x06"
的字节对象。可以使用struct.unpack("cccc", length)
将此值解压缩到相应的数字中,但这会返回包含\
,(b'\x00', b'\x00', b'\x00', b'\x06')
的十六进制数字的元组。有没有内置的方法可以将这些数字按原样(如length
或以个别方式)整数转换为整数而无需手动处理\
?谢谢你提前。
答案 0 :(得分:1)
是的,确定:
>>> length
b'\x00\x00\x00\x06'
>>> list(length)
[0, 0, 0, 6]
注意,如果您访问bytes
对象的各个元素,则会得到int
作为回报:
>>> length[0]
0
>>> length[1]
0
>>> length[2]
0
>>> length[3]
6
>>>