Python 3: return 来自内存视图的单个位
Python 3: return single Bits from a memoryview
使用 python 3.5,我从 PostgreSQL 收到一个字节作为内存视图。
>>> mybyte
<memory at 0x7fd07b12a888>
>>> bytes(mybyte)
b'\x04'
如何读取这个字节的单个位?有没有办法得到这个单字节的按位表示?
我想
>>> bin(ord(mybyte))
应该可以解决问题,但它不适用于内存视图。还有类似
>>> print(mybyte >> 3)
显然不起作用...
感谢您的任何提示和支持。
这是使用 binascii
的一种方法:
In [58]: bin(int(binascii.hexlify(var), 16))
Out[58]: '0b100'
使用 python 3.5,我从 PostgreSQL 收到一个字节作为内存视图。
>>> mybyte
<memory at 0x7fd07b12a888>
>>> bytes(mybyte)
b'\x04'
如何读取这个字节的单个位?有没有办法得到这个单字节的按位表示? 我想
>>> bin(ord(mybyte))
应该可以解决问题,但它不适用于内存视图。还有类似
>>> print(mybyte >> 3)
显然不起作用... 感谢您的任何提示和支持。
这是使用 binascii
的一种方法:
In [58]: bin(int(binascii.hexlify(var), 16))
Out[58]: '0b100'