我已经使用此函数将字符串转换为位。
def a2bits(chars):
return bin(reduce(lambda x, y : (x<<8)+y, (ord(c) for c in chars), 1))[3:]
我该怎么做呢?比特到字符串。我是否必须将这些位分成ASCII数,然后将它们转换为字符?
我从这个网站获得了 a2bits 的功能:http://www.daniweb.com/software-development/python/code/221031/string-to-bits
标准库中有什么东西可以将位转换为字符串吗?
答案 0 :(得分:3)
>>> def bits2a(b):
... return ''.join(chr(int(''.join(x), 2)) for x in zip(*[iter(b)]*8))
...
>>> bits2a('0110100001100101011011000110110001101111')
'hello'
答案 1 :(得分:1)
import base64
str(base64.b16decode(hex(int("0110100001100101", base=2))[2:],casefold=True))[2:-1]