Python字符串和二进制字符串之间的转换方法示例

 更新时间:2023年06月14日 15:41:23   作者:羽丶千落  
python中没有0-1形式的二进制类型,但我们依然可以存储二进制类型的数据,下面这篇文章主要给大家介绍了关于Python字符串和二进制字符串之间的转换方法,需要的朋友可以参考下

说明

字符串:可以包含任意字符
二进制字符串:转换结果的长度为8的倍数

涉及的内容:

  • 字符串与bytes类型的互相转换
  • bytes类转与 list 列表的互相转换
  • bin函数的使用
  • int函数的使用

字符串转二进制字符串

步骤:

  • 将字符串转成bytes类型
  • 将bytes类型转成list类型(元素为int型)
  • 将list的每个元素转成二进制字符串(数值在0-255之间),指定长度为8位
  • 拼接每个元素转成的二进制字符串

实现:

text = "我的世界123abc"
b_text = text.encode() # b'\xe6\x88\x91\xe7\x9a\x84\xe4\xb8\x96\xe7\x95\x8c123abc'
list_b_text = list(b_text)
# [230, 136, 145, 231, 154, 132, 228, 184, 150, 231, 149, 140, 49, 50, 51, 97, 98, 99]
re = []
for num in list_b_text:
	re.append(bin(num)[2:].zfill(8))
"""
['11100110', '10001000', '10010001', '11100111', '10011010', '10000100', '11100100', '10111000', '10010110', '11100111', '10010101', '10001100', '00110001', '00110010', '00110011', '01100001', '01100010', '01100011']
"""
bin_str = ''.join(re)
# '111001101000100010010001111001111001101010000100111001001011100010010110111001111001010110001100001100010011001000110011011000010110001001100011'

二进制字符串转字符串

步骤:

  • 将二进制字符串进行切分,每8位为一组
  • 将每一组的二进制字符串转成int类型,以列表类型存储
  • 将列表转为bytes类型
  • 将bytes类型转为字符串

实现:

bin_str='111001101000100010010001111001111001101010000100111001001011100010010110111001111001010110001100001100010011001000110011011000010110001001100011'

list_bin = [bin_str[i:i+8] for i in range(0,len(bin_str),8)]
"""
['11100110', '10001000', '10010001', '11100111', '10011010', '10000100', '11100100', '10111000', '10010110', '11100111', '10010101', '10001100', '00110001', '00110010', '00110011', '01100001', '01100010', '01100011']
"""
list_int = []
for bin_s in list_bin:
	list_int.append(int(bin_s,2))
# [230, 136, 145, 231, 154, 132, 228, 184, 150, 231, 149, 140, 49, 50, 51, 97, 98, 99]

bytes(list_int).decode()
# '我的世界123abc'

附:Python 二进制、整数相互转化

整数转二进制:
1、采用%2的方式计算
2、采用python自带了方法 bin.
比如bin(10) 回返回字符串'0b1010' ,只留下‘0',‘1'序列需要把‘0b'去掉.
bin(number).replace('0b','') 或bin(number)[2:]
>>> bin(10)  // 为了下边表示方便 放入t中
'0b1010'
 
二进制转整数:
>>> int(t[2:],2)
10

总结

到此这篇关于Python字符串和二进制字符串之间的转换方法的文章就介绍到这了,更多相关Python字符串和二进制字符串转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python初步实现word2vec操作

    python初步实现word2vec操作

    这篇文章主要介绍了python初步实现word2vec操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 在Mac中配置Python虚拟环境过程解析

    在Mac中配置Python虚拟环境过程解析

    这篇文章主要介绍了在Mac中配置Python虚拟环境过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Python字节单位转换实例

    Python字节单位转换实例

    今天小编就为大家分享一篇Python字节单位转换实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 利用python模拟sql语句对员工表格进行增删改查

    利用python模拟sql语句对员工表格进行增删改查

    这篇文章主要给大家介绍了关于利用python模拟sql语句实现对员工表格进行增删改查的相关资料,文中介绍了详细的需求以及示例代码,对大家的理解和学习具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-07-07
  • 5款Python程序员高频使用开发工具推荐

    5款Python程序员高频使用开发工具推荐

    这篇文章主要介绍了5款Python程序员高频使用开发工具,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 基于python编写的五个拿来就能用的炫酷表白代码分享

    基于python编写的五个拿来就能用的炫酷表白代码分享

    七夕快到了,所以本文小编将给给大家介绍五种拿来就能用的炫酷表白代码,无限弹窗表白,爱心发射,心动表白,玫瑰花等表白代码,需要的小伙伴快来试试吧
    2023-08-08
  • 用pycharm开发django项目示例代码

    用pycharm开发django项目示例代码

    这篇文章主要介绍了用pycharm开发django项目示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • 教你轻松解决selenium打开浏览器自动退出

    教你轻松解决selenium打开浏览器自动退出

    这篇文章主要给大家介绍了关于如何轻松解决selenium打开浏览器自动退出的相关资料,Selenium是一个用于Web应用程序测试的工具,Selenium测试直接运行在浏览器中,今天在打开网页时,浏览器总是一闪而退,需要的朋友可以参考下
    2023-08-08
  • python基于socket模拟实现ssh远程执行命令

    python基于socket模拟实现ssh远程执行命令

    这篇文章主要介绍了python基于socket模拟实现ssh远程执行命令,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-12-12
  • 如何通过Python实现RabbitMQ延迟队列

    如何通过Python实现RabbitMQ延迟队列

    这篇文章主要介绍了如何通过Python实现RabbitMQ延迟队列,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11

最新评论