如何在 Python 中将字节数转换为二进制数?
Posted
技术标签:
【中文标题】如何在 Python 中将字节数转换为二进制数?【英文标题】:How can I convert from bytes to binary numbers in Python? 【发布时间】:2021-09-13 13:05:35 【问题描述】:所以我是一个 Python 初学者,我得到了这个字节对象:
byte_obj = b'\x45\x10\x00\x4c\xcc\xde\x40\x00\x40\x06\x6c\x80\xc0\xa8\xd9\x17\x8d\x54\xda\x28'
但我不知道如何将其放入二进制数中,我只知道它将有 32 位。
【问题讨论】:
【参考方案1】:您可以尝试int.from_bytes(...)
,记录在here 例如:
>>> byte_obj = b'\x45\x10\x00\x4c\xcc\xde\x40\x00\x40\x06\x6c\x80\xc0\xa8\xd9\x17\x8d\x54\xda\x28'
>>> int.from_bytes(byte_obj, byteorder='big')
394277201243797802270421732363840487422965373480
其中byteorder
用于指定输入是大端还是小端(即最高或最低有效字节在前)。
(不过看起来比 32 位大一点!)
【讨论】:
谢谢我不知道那个方法。 byteorder = 'big' 有什么作用? 用于指定输入字节是“big-endian”(最高有效字节在前)还是“little-endian”(LSB 在前)。我会更新答案以包含该详细信息。 嗨@user16350182,如果答案解决了你的问题,如果你能mark it as 'accepted'帮助其他人更容易找到它会很棒。以上是关于如何在 Python 中将字节数转换为二进制数?的主要内容,如果未能解决你的问题,请参考以下文章