字符串到二进制位的转换

时间:2019-02-14 19:45:22

标签: python encryption cryptography des

例如,如何转换字符串

  

“超越无限!”

到二进制数字流?我想在Python中实现DES加密。但是这种加密需要64位的纯文本大小。尽管存在位长,但实际上如何将其转换为位流以进行加密?

此外,到位的转换应使得后期加密,解密也可以有效地进行(甚至通过对字符串中的''进行位转换)。

我想知道一般如何做到这一点。

  

'{0:b}'。format(“”)无效。

那我该怎么办?

2 个答案:

答案 0 :(得分:2)

这是我认为最Python化的方式:

>>> string = "hello"
>>> [bin(i) for i in bytearray(string, 'utf8')]
['0b1101000', '0b1100101', '0b1101100', '0b1101100', '0b1101111']

答案 1 :(得分:0)

python 2.7

您可以这样做:

s = "To Infinity and Beyond!"  # s for string
s = ' '.join(format(ord(x.decode('utf-8')), 'b') for x in s)
print str(s)