千锋教育-做有情怀、有良心、有品质的职业教育机构

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

来源:千锋教育
发布时间:2023-11-08 03:27:22
分享

我们在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')

以上内容为大家介绍了Python中字符串与二进制如何相互转换?希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python 中的多态 python中的鸭子类型允许我们使用任何提供所需方法的对象,而不需要迫使它成为一个子类。由于python属于动态语言,当你定义了一个基类和基类中的方法,并编写几个继承该基类的子类时,由于python在
  • python 列表排序 使用列表对象的sort()方法进行原地排序,支持多种不同的排序方法。>>>aList=[3,4,5,6,7,9,11,13,15,17]>>>importrandom>>>random.shuffle
  • python 列表元素的增加 可以使用“+”运算符将元素添加到列表中。>>>aList=[3,4,5]>>>aList=aList+[7]>>>aList[3,4,5,7]严格意义上来讲,这并不是真的为列表添加元素,而是创建了一个
  • python 列表元素的删除 使用del命令删除列表中的指定位置上的元素。>>>a_list=[3,5,7,9,11]>>>dela_list[1]>>>a_list[3,7,9,11]使用列表的pop()方法删除并返回指定位置(
  • python 列表元素访问与计数 使用下标直接访问列表元素,如果指定下标不存在,则抛出异常。>>>aList[3]6>>>aList[3]=5.5>>>aList[3,4,5,5.5,7,9,11,13,15,17]>>>aList[
  • python 静态方法 定义:是一种普通函数,在类的作用域里面时,不会对任何实例类型进行操作,前面必须要加上一个装饰器@staticmethod,我们将这种方法就称为静态方法。classA:@staticmethod#相当于