1. 程式人生 > >Python 字串與二進位制串的相互轉換

Python 字串與二進位制串的相互轉換

一個問題,在Python中,如何將一個字串轉換為相應的二進位制串(01形式表示),並且能夠將這個二進位制串再轉換回原來的字串。

一個簡單版本

def encode(s):
    return ' '.join([bin(ord(c)).replace('0b', '') for c in s])

def decode(s):
    return ''.join([chr(i) for i in [int(b, 2) for b in s.split(' ')]])
    
>>>encode('hello')
'1101000 1100101 1101100 1101100 1101111'
>>>decode('1101000 1100101 1101100 1101100 1101111'
) 'hello'
>>> bin(int('256', 10))
'0b100000000'
>>> str(int('0b100000000', 2))
'256'