在 python 中将字节操作为二进制级别

manipulate bytes down to binary levels in python

我正在尝试开始学习编写加密算法,因此在使用 python 时,我正在尝试将数据操作到二进制级别,这样我就可以在数据末尾添加位以及操作模糊数据。

我不是编程新手我实际上是一名程序员,但我对 python 比较陌生,这就是为什么我有点挣扎。

任何人都可以告诉我在 python 中操作字符串到二进制级别的最佳方法(或推荐我应该以何种方式处理此问题)。我看了很多问题:

Convert string to binary in python

Manipulating binary data in Python

Convert binary to ASCII and vice versa

但所有这些都不是我要找的,我对 python 的了解还不够多,无法挑选出我需要的东西。有人可以帮助我提供详细信息吗(如果您使用函数,请解释它对我来说是什么,例如 ord())

bitarray 允许您将位序列视为正常的 Python 序列,并将它们作为二进制值进行操作。

>>> bitarray.bitarray('0101') | bitarray.bitarray('1010')
bitarray('1111')

看看 bitstring 模块,它旨在使二进制操作尽可能简单。

from bitstring import BitArray
a = BitArray('0xfeed')    # 16 bits from hex
a += '0b001'              # Add three binary bits
a.replace('0b111', '0b0') # Search and replace
a.count(1)                # Count one bits

它有完整的 manual 和大量示例。