如何在 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 中将字节数转换为二进制数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Redshift 中将十六进制数转换为二进制数?

请教网络高手们,windows驱动中将网络字节序转换为点分十进制数串的函数叫啥名字?

如何在Java中将非常大的十进制数转换为二进制数

PHP如何将从二进制文件中读取的字节转换为数字

严格使用乘法和除法在Java中将二进制数转换为十进制数

在 Power Query 中将负文本转换为十进制数