将<class'bytes'>转换为字符串'0'和'1'python

时间:2019-06-15 08:58:12

标签: python python-3.x encoding decoding

如何转换“字节”类的对象

  

b'\ xd2 \ x9f \ r'

到字符串'0'和'1'

  

001011010110000010010

2 个答案:

答案 0 :(得分:1)

使用下面的代码

import sys
bin(int.from_bytes(b'\xd2\x9f\r', byteorder=sys.byteorder))

输出 0b11011001111111010010

答案 1 :(得分:1)

在 ESP32 上的 Micropython 中得到了结果:

>>> bin(int.from_bytes(b'-\x05\x05\xff',byteorder=sys.byteorder))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: function doesn't take keyword arguments

用默认的 byteorder 替换 0 参数完成了这项工作:

>>> bin(int.from_bytes(b'-\x05\x05\xff',0))
'0b101101000001010000010111111111'