因此,我尝试在 python 中的两个对象之间进行按位“异或”,作为异或交换例程的一部分(仅作为说明性示例)。但我注意到按位异或不适用于字符串。
我在 stackoverflow 上进行了一些探索,发现:
答案并不令人满意,即因为我希望能够对我的数据进行原始字节级操作。这在Python中是不可能的吗?
我希望有人可以向我指出一个库,它可以让我将所有对象视为字节 block ,我可以使用熟悉的运算符(例如“xor”)自由地进行操作
最佳答案
Python 中的字符串是不可变的。您希望 bytearray 类型就地操作数据。
>>> b = bytearray([1,2,3,4,5,6,7,8])
>>> for i in xrange(len(b)):
... b[i] ^= 255
...
>>> b
bytearray(b'\xfe\xfd\xfc\xfb\xfa\xf9\xf8\xf7')
关于python - python中对象的按位处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34867970/