python - python中对象的按位处理

标签 python python-2.7 bit-manipulation bit

因此,我尝试在 python 中的两个对象之间进行按位“异或”,作为异或交换例程的一部分(仅作为说明性示例)。但我注意到按位异或不适用于字符串。

我在 stackoverflow 上进行了一些探索,发现:

Bitwise xor python

答案并不令人满意,即因为我希望能够对我的数据进行原始字节级操作。这在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/

相关文章:

python - 为什么即使链接在服务器上,我也会收到 "404 Not Found"错误?

python - 使用bash运行python脚本

c - 数据类型范围有限

python panda 计算滚动平均值

python - 双向链表——垃圾回收

python - Matplotlib pyplot 选项为 dict 或任何格式

python - 如何在 python 中将\t 视为常规字符串

检查位否定数中设置的位数是否为 2 或更多

python - 在python中将int转换为特定大小的字节

python - 有没有办法可以用 python 将屏幕截图的输出保存在列表中