编程语言
首页 > 编程语言> > 为什么不能在python中对字节对象进行异或运算?

为什么不能在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