问答详情

Python中字符串与二进制如何相互转换?

678次观看
标签: 字符串 Python
老师回答

简单版本

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'

bitarray法

将二进制串转化为bitarray对象,bitarray对象可以轻松转化为bytes

from bitarray import bitarray


def str2bitarray(s):
    ret = bitarray(''.join([bin(int('1' + hex(c)[2:], 16))[3:] for c in s.encode('utf-8')]))
    return ret


def bitarray2str(bit):
    return bit.tobytes().decode('utf-8')

免费直播

    精选课程
    相关推荐

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司