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

图片[1]-Python中字符串与二进制如何相互转换?-uusu优素-乐高,模型,3d打印,编程

我们在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
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容