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

yizhihongxing

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编程之列表操作实例详解【创建、使用、更新、删除】

    Python编程之列表操作实例详解【创建、使用、更新、删除】 在Python中,列表是一种非常常用的数据类型,用于存储一组有序的元素。列表可以包含不同类型的元素,包括数字、字符串、布尔值等。本文将详细介绍Python中列表的创建、使用、更新和删除操作,包括方法、示例等。 创建列表 创建列表的方法有多种,包括使用方括号[]、使用list()函数、使用列表推导式…

    python 2023年5月13日
    00
  • python计算Content-MD5并获取文件的Content-MD5值方式

    当我们需要获取某个文件的Content-MD5值的时候,可以利用Python中的hashlib模块中的md5()方法来进行计算。下面详细讲解如何计算Content-MD5值以及获取文件的Content-MD5值。 计算Content-MD5值 计算Content-MD5值的方式如下: import hashlib content = b"Hello…

    python 2023年6月3日
    00
  • python实现自动化脚本编写

    Python实现自动化脚本编写攻略 自动化脚本编写是指利用编程语言等工具自动化执行某些操作,提高工作效率和减少人工错误的发生。Python是一门易于学习和使用的编程语言,在自动化脚本编写中有着广泛应用。以下是实现自动化脚本编写的攻略: 第一步:了解需要自动化的任务 在开始自动化脚本编写前,我们需要了解需要自动化的任务,确定任务的目标和预期结果。例如,我们想要…

    python 2023年5月19日
    00
  • 浅析Python中的随机采样和概率分布

    浅析Python中的随机采样和概率分布 什么是随机采样 在Python中,随机采样是指从一定数据范围内,按照一定的随机规则取出其中一部分数据的方法。常见的随机采样方法有有放回采样和无放回采样。 如何进行随机采样 在Python中,一般使用random库中的函数实现随机采样。其中,random库中的sample函数可以实现无放回采样,而choices函数可以实…

    python 2023年6月3日
    00
  • 利用Python内置库实现创建命令行应用程序

    创建命令行应用程序可以方便用户在命令行上直接运行程序并传入命令行参数,Python内置有argparse库用于处理命令行参数,可用于快速构建命令行程序。下面是创建命令行程序的完整攻略: 步骤一:安装Python 如果未安装,请先下载Python并安装。 步骤二:创建Python虚拟环境 在终端中执行以下命令: python3 -m venv myenv 这将…

    python 2023年5月30日
    00
  • Python Pyqt5多线程更新UI代码实例(防止界面卡死)

    下面是Python Pyqt5多线程更新UI代码实例(防止界面卡死)的完整攻略。 1. 背景 在使用PyQt5进行GUI开发时,假如某个计算机密集型的操作耗时较长,那么就可能会导致界面卡死,影响用户体验。为了避免这种情况,可以利用多线程更新UI的方式来解决。 2. 实现过程 2.1 创建线程 在PyQt5中利用QThread创建线程,在其run方法中执行需要…

    python 2023年5月19日
    00
  • python定时检测无响应进程并重启的实例代码

    下面是关于“python定时检测无响应进程并重启的实例代码”的完整攻略和两个示例。 检测无响应进程并重启的思路 首先,我们可以使用Python的subprocess模块创建并启动子进程,然后监听其运行状态。如果进程在规定的时间内未给出响应,我们可以通过os.kill()方法向该进程发送一个信号,使其停止运行。接着,我们可以使用相同的方式重新启动进程且在该进程…

    python 2023年5月20日
    00
  • Python try except finally资源回收的实现

    Pyhon 中的 try-except-finally 代码块是一种异常处理机制。当代码中出现异常时,try 代码块中的代码会停止执行,执行流程会跳到 except 代码块中,尝试捕获异常并进行相应的处理。finally 代码块中的代码不管是否出现异常,都会被执行,可以用来进行资源回收等操作。 在 Python 中使用 try-except-finally …

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