我们在Python中会遇到很多转换的问题,例如需要字符串,而输入内容为二进制。码的是字符串,却要是字符串。字符串与二进制如何相互转换呢?本文向大家介绍Python中字符串与二进制相互转换的两种方法,一个是简单版本,另一个是依靠bitarray对象,也是可以轻松转化。内容如下:
简单版本
defencode(s): return''.join([bin(ord(c)).replace('0b','')forcins]) defdecode(s): return''.join([chr(i)foriin[int(b,2)forbins.split('')]]) >>>encode('hello') '11010001100101110110011011001101111' >>>decode('11010001100101110110011011001101111') 'hello'
bitarray法
将二进制串转化为bitarray对象,bitarray对象可以轻松转化为bytes
frombitarrayimportbitarray defstr2bitarray(s): ret=bitarray(''.join([bin(int('1'+hex(c)[2:],16))[3:]forcins.encode('utf-8')])) returnret defbitarray2str(bit): returnbit.tobytes().decode('utf-8')
原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容