为什么不能在python中对字节对象进行异或运算?
作者:互联网
我想我了解python字节对象,但是在字节字符串上支持按位操作似乎是一个显而易见的功能.我不明白为什么不支持它.
>>>'abcdefg'.encode('ascii')
b'abcdefg'
好的.我从字符串变成了类似ascii中字符串的字节表示形式.
所以当我尝试:
>>> a = 'abcdefg'.encode('ascii')
>>> a ^ a
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for ^: 'bytes' and 'bytes'
为什么?为什么python不支持呢?关于字节对象,有什么我不了解的地方使它变得不可行或模棱两可吗?
解决方法:
此功能已被提议为on the python bug tracker.并且已提出了补丁(我对此感到烦恼之后编写了该补丁).但是当前反馈是负的,如果要包含它,还需要更多.
标签:bit-manipulation,byte,bitwise-xor,python,bytearray 来源: https://codeday.me/bug/20191027/1947901.html