将Python字节转换为“无符号8位整数”
我正在从套接字中读取一个字节数组或列表。我希望Python把第一个字节当作一个“无符号8位整数”来处理。请问怎么才能把它的整数值当作无符号8位整数来获取呢?
3 个回答
7
如果你只需要获取第一个字节的整数值,一个很简单的办法就是像下面这样做:
value = ord(data[0])
如果你想一次性处理你收到的数据中的所有元素(而这些元素不是同一种类型的数组),或者你在处理像32位整数这样的多字节对象,那么你就需要使用类似于struct模块的工具。
11
字节(bytes)和字节数组(bytearray)是一串整数。如果你通过索引访问其中的一个元素,你会得到一个整数:
>>> b'abc'
b'abc'
>>> _[0]
97
根据它们的定义,字节和字节数组里的整数范围是从0到255。所以它们被称为“无符号8位整数”。