биты в строку Python - PullRequest
2 голосов
/ 29 марта 2012

Я использовал эту функцию для преобразования строки в биты.

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

Есть ли в стандартной библиотеке что-то для преобразования битов в строку?

Ответы [ 2 ]

3 голосов
/ 29 марта 2012
>>> def bits2a(b):
...     return ''.join(chr(int(''.join(x), 2)) for x in zip(*[iter(b)]*8))
... 
>>> bits2a('0110100001100101011011000110110001101111')
'hello'
1 голос
/ 29 мая 2015
import base64
str(base64.b16decode(hex(int("0110100001100101", base=2))[2:],casefold=True))[2:-1]
...