Python二进制串转换为通用字符串的方法

Python中将二进制串转换为通用字符串有以下两种方法:

1. 使用 Python 自带 codecs 模块中的解码功能

在 Python 中,我们可以使用内置的codecs模块将二进制串转换为通用字符串。其使用方法如下:

import codecs
binary_str = b'00110010 00110000 00110030 00110031'
universal_str = codecs.decode(binary_str.replace(b' ', b''), 'hex').decode('utf-8')
print(universal_str)  # '2001'

上述代码中,首先导入了 Python 自带的 codecs 模块,接着定义了一个二进制字符串 binary_str,其中间由空格隔开的每 8 位二进制码通过replace函数替换成没有空格的二进制码;然后通过 codecs.decode() 函数将二进制数据解码为unicode字符串,最后通过 decode() 方法将 Unicode 字符串转换为普通字符串。

2. 利用 struct 模块进行解包

使用Python内置的 struct 模块,可以逐个解析二进制串,然后转换成字符串。其使用方法如下:

import struct
binary_str = b'00110010 00110000 00110030 00110031'
pack_str = ''.join(['B']*len(binary_str.replace(b' ', b'')))  # 按8位分割
universal_str = struct.pack(pack_str, *binary_str.replace(b' ', b''))
print(universal_str.decode('utf-8'))  # '2001'

上述代码中,我们首先导入内置模块 struct,接着定义了一个二进制字符串 binary_str,使用了 str.replace() 函数将其中的空格替换成空字符串。然后,根据二进制组成,每 8 位被使用了一个 B 字符串组成的列表,然后利用 struct.pack() 函数按照 8 位组成的组建,将二进制以此解析然后生成通用的 Unicode 字符串。最后,最终的字符串 universal_str 通过 decode() 方法转换成普通的字符串。

示例说明:

假设现在我们有一个二进制串:b'01101111 01101001',我们可以使用上述第一种方法,逐个将其中的二进制码转换成 utf-8 编码的字符串,最终得到的通用字符串为 'oi'

假设现在我们有一个二进制串:b'1101000 1100101 1101100 1101100 1101111',我们可以使用上述第二种方法逐个将其中的二进制码转换成普通字符串,最终得到的通用字符串为 'hello'

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python二进制串转换为通用字符串的方法 - Python技术站

(0)
上一篇 2023年6月5日
下一篇 2023年6月5日

相关文章

  • Python调用Matplotlib绘制振动图、箱型图和提琴图

    下面我来为您详细讲解如何使用Python调用Matplotlib绘制振动图、箱型图和提琴图的完整攻略。 什么是Matplotlib Matplotlib是一个常用的Python科学计算库,用于绘制各种类型的图表,比如曲线图、散点图、条形图等等。通过Matplotlib,我们可以轻松地将数据可视化,并且可以自定义各类图表的样式和风格。 Matplotlib的安…

    python 2023年6月3日
    00
  • Python 切片索引越界的问题(数组下标越界)

    下面是关于Python切片索引越界问题的完整攻略。 什么是Python切片索引越界问题? 在Python中,切片是一种非常常见的操作,可以通过“:”运算符来获取一段序列的子序列,但是在进行切片操作时,由于下标越界的问题,可能会出现“IndexError: list index out of range”的错误提示。 这种错误提示通常是由于访问了一个不存在的索…

    python 2023年6月5日
    00
  • python getopt模块使用实例解析

    Python getopt模块使用实例解析 本文将详细讲解Python getopt模块的使用方法。getopt模块是Python标准库中的一个命令行参数解析模块,可以方便地解析命令行参数,并提供了丰富的选项和参数处理功能。 基本用法 以下是一个基本的getopt模块使用示例: import getopt import sys def main(argv):…

    python 2023年5月15日
    00
  • 深入讲解Python中的迭代器和生成器

    标题:深入讲解Python中的迭代器和生成器 什么是迭代器? Python中的迭代器是一种访问集合元素的对象,可以使用for循环遍历集合中的元素,同时也可以使用next()函数逐个访问集合中的元素。 迭代器的定义 迭代器对象从一个集合中取出一个元素后,依次再取出下一个元素,直到取出集合中的所有元素为止。迭代器的定义需要满足以下条件: 实现 next() 方法…

    python 2023年6月3日
    00
  • 浅谈一下python线程池简单应用

    下面我来详细讲解一下“浅谈一下Python线程池简单应用”的完整攻略。 线程池简介 线程池是多线程编程中一种常见的设计模式。它可以在应用程序启动时预先创建一定数量的线程,并将它们存储在一个池中。当需要执行任务时,线程池会从池中获取空闲的线程,并将任务分派给它们执行。这样可以减少线程的创建和销毁频率,提高线程的重复利用性,从而提高程序的性能。 Python线程…

    python 2023年5月19日
    00
  • python 修改本地网络配置的方法

    Python 修改本地网络配置的方法 在Python中,我们使用socket库来获取和设置本地网络配置信息。本地网络配置信息包括接口、IP地址、子网掩码、广播地址、MAC地址和DNS服务器地址等。下面是使用Python修改本地网络配置的详细攻略。 步骤 1 : 导入 socket 库 导入 socket 库,该库包含用于访问和设置本地网络配置信息的函数。 i…

    python 2023年5月20日
    00
  • 使用python在csv中更改分隔符

    【问题标题】:Delimiter change in csv using python使用python在csv中更改分隔符 【发布时间】:2023-04-03 12:35:02 【问题描述】: 我有一个大约 30000 行的 .csv 文件。实现的默认分隔符是分号。我用 python 创建了一个小脚本,它将分隔符转换为逗号并将其保存在同一个文件中。该脚本运行…

    Python开发 2023年4月8日
    00
  • python munch库的使用解析

    下面就来为您介绍如何使用PythonMunch库。 什么是PythonMunch库 PythonMunch是一个能让Python的字典数据结构增加面向对象的属性的库。它提供了一个Munch类,该类继承自字典类,可以像对象一样访问字典中的键值对。它也支持属性访问和嵌套值作为Munch对象。 安装PythonMunch库 安装PythonMunch库很容易,只需…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部