如何在Python3中将类型字节转换为8位?

时间:2019-09-08 14:20:57

标签: python-3.x binary

我有一个正在读取的具有连续字节的文件。

我使用stuct.unpack一次将其中的大多数字节解压缩为4或8,然后将其解压缩为浮点数和整数。

from struct import unpack
from sys import stdin

read_data = stdin.buffer.read()
integer_number = unpack("i", read_data[0:4])
double_number = unpack("d", read_data[4:12])

但是其中一个字节需要解释为8个单独的位。

documentation中,似乎没有一种方法可以将字节转换为类似两个十六进制数字或八个二进制的东西。

我还尝试将字节解释为字符串,该字符串适用于较小的数字,但是数字越大,得到的结果就越奇怪。

许多语言都回答了这个问题,但是我找不到Python3解决方案。

1 个答案:

答案 0 :(得分:0)

来自this article

hex_number = read_data[12:13].hex()