How can I convert bytes object to decimal or binary representation in python?(如何在 python 中将字节对象转换为十进制或二进制表示?)
问题描述
我想在 python 3.x 中将字节类型的对象转换为二进制表示.
I wanted to convert an object of type bytes to binary representation in python 3.x.
例如,我想将字节对象 b'x11'
转换为二进制表示的二进制表示 00010001
(或十进制的 17).
For example, I want to convert the bytes object b'x11'
to the binary representation 00010001
in binary (or 17 in decimal).
我试过了:
print(struct.unpack("h","x11"))
但我得到了:
error struct.error: unpack requires a bytes object of length 2
推荐答案
从 Python 3.2 开始,您可以使用 int.from_bytes
.
Starting from Python 3.2, you can use int.from_bytes
.
第二个参数,byteorder
,指定字节串的 endianness.它可以是 'big'
或 'little'
.您还可以使用 sys.byteorder
来获取主机的本机字节顺序.
Second argument, byteorder
, specifies endianness of your bytestring. It can be either 'big'
or 'little'
. You can also use sys.byteorder
to get your host machine's native byteorder.
import sys
int.from_bytes(b'x11', byteorder=sys.byteorder) # => 17
bin(int.from_bytes(b'x11', byteorder=sys.byteorder)) # => '0b10001'
这篇关于如何在 python 中将字节对象转换为十进制或二进制表示?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 python 中将字节对象转换为十进制或二进制表示?


基础教程推荐
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01