2

I have used this function to convert string to bits.

def a2bits(chars):
     return bin(reduce(lambda x, y : (x<<8)+y, (ord(c) for c in chars), 1))[3:]

How would I go about doing the reverse? Bits to string. Would I have to separate the bits into ASCII numbers and then convert them into characters?

I got the function a2bits from this site: http://www.daniweb.com/software-development/python/code/221031/string-to-bits

Is there something in the standard library to convert bits to string?

1

2 Answers 2

5
>>> def bits2a(b):
...     return ''.join(chr(int(''.join(x), 2)) for x in zip(*[iter(b)]*8))
... 
>>> bits2a('0110100001100101011011000110110001101111')
'hello'
Sign up to request clarification or add additional context in comments.

1 Comment

You're giving bad example for new users by not adding any explanation to your answer.
2
import base64
str(base64.b16decode(hex(int("0110100001100101", base=2))[2:],casefold=True))[2:-1]

1 Comment

Could you also add some explanation?

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.