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

时间:2015-09-25 09:43:26

标签: python algorithm encryption binary

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

我不是编程的新手我实际上是程序员,但我对python相对较新,这就是为什么我有点挣扎。

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

Convert string to binary in python

Manipulating binary data in Python

Convert binary to ASCII and vice versa

但所有这些都不是我想要的,我不知道python能够挑选出我需要的东西。有人可以帮我详细说明(如果你使用函数请解释它对我来说是什么,例如ord())

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

查看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和很多例子。