【发布时间】:2019-03-25 07:27:54
【问题描述】:
我有一个字节数据是这样的:b'\xc4\x03\x00\x00\xe2\xecqv\x01'.
如何将其转换为整数,如按索引索引。
【问题讨论】:
-
这取决于您希望如何将其解释为整数。您可以获取每个字节并将其转换为整数、每位或每个 16 位字,或者将整个数据解释为一个整数或其他任何内容。最后总结出一个问题:你是如何获得二进制数据的?
我有一个字节数据是这样的:b'\xc4\x03\x00\x00\xe2\xecqv\x01'.
如何将其转换为整数,如按索引索引。
【问题讨论】:
bytes 对象基本上已经是一个(不可变的)整数序列。
b = b'\xc4\x03\x00\x00\xe2\xecqv\x01'
b[0] # 196
lst = list(b)
# [196, 3, 0, 0, 226, 236, 113, 118, 1]
【讨论】:
只需通过索引访问:
>>> b = b'\xc4\x03\x00\x00\xe2\xecqv\x01'
>>> b[0]
196
>>> for i in b:
... print(i)
...
196
3
0
0
226
236
113
118
1
【讨论】:
如果你有 Python v.3,你可以使用 int_from_bytes() 函数:
int.from_bytes(b'\xc4\x03\x00\x00\xe2\xecqv\x01', byteorder='big')
【讨论】: