如何将字节转换为Python字符串?
在本文中,我们将向您展示如何在Python中将字节转换为字符串。以下是实现此任务的各种方法:
- 使用decode()函数
-
使用str()函数
-
使用codecs.decode()函数
-
使用pandas库
更多Python相关文章,请阅读:Python 教程
使用decode()函数
在Python中,内置的 decode() 方法用于将字节转换为字符串。
算法(步骤)
以下是执行所需任务的算法/步骤:
- 创建一个变量来存储输入的字节字符串数据。
-
打印输入数据。
-
使用 type() 函数(返回对象的数据类型)打印输入数据的类型。
-
使用 decode() 函数将输入字节转换为Python字符串。
-
打印输出数据。
-
使用 type() 函数在将输入字节转换为Python字符串后打印输出数据的类型。
示例
以下程序使用decode()函数将输入字节转换为Python字符串:
#输入字节
inputData = b'TutorialsPoint'
#打印输入的字节数据
print('输入数据:', inputData)
#打印输入数据的类型
print(type(inputData))
#使用decode()函数将输入字节转换为Python字符串
result = inputData.decode()
#打印解码字节后的结果
print('输出数据:', result)
#使用type()函数在将输入字节转换为Python字符串后打印输出数据的类型
print(type(result))
输出
在执行上述程序时,将生成以下输出:
输入数据:b'TutorialsPoint'
<class 'bytes'>
输出数据:TutorialsPoint
<class 'str'>
使用str()函数
str() 函数返回对象的字符串格式,即将其转换为字符串形式。
算法(步骤)
以下是执行所需任务的算法/步骤:
- 创建一个变量来存储输入的字节字符串数据。
-
打印输入数据。
-
使用 type() 函数(返回对象的数据类型)打印输入数据的类型。
-
使用 str() 函数将输入字节转换为Python字符串,通过将输入数据“UTF-8”作为参数传递给它。
-
打印输出数据。
-
使用 type() 函数在将输入字节转换为Python字符串后打印输出数据的类型。
示例
以下程序使用 str() 函数将输入字节转换为Python字符串:
# 输入字节
inputData = b'TutorialsPoint'
# 打印输入字节数据
print('输入数据:', inputData)
# 打印输入数据的类型
print(type(inputData))
# 使用str()函数将输入字节转换为字符串
result = str(inputData, 'UTF-8')
# 打印解码后的结果数据
print('输出数据:', result)
# 打印转换后输出数据(result)的类型
print(type(result))
输出结果
执行上述程序后,会生成以下输出结果 −
输入数据: b'TutorialsPoint'
<class 'bytes'>
输出数据: TutorialsPoint
<class 'str'>
使用codecs.decode()函数
codecs 模块也可以用于将字节数据类型转换为字符串。
codecs 模块的 decode() 方法将二进制字符串解码为普通形式。
算法(步骤)
执行所需任务的算法/步骤如下所示 -。
- 使用import关键字导入 codecs 模块。
-
创建一个变量以存储输入的字节字符串数据。
-
打印输入数据。
-
使用 type() 函数(返回对象的数据类型)打印输入数据的类型。
-
使用 codecs 模块的 decode() 函数将输入字节转换为Python字符串。
-
打印输出数据。
-
使用 type() 函数打印输入字节转换为Python字符串后输出数据(result)的类型。
例子
以下程序使用 codecs.decode() 函数将输入字节转换为Python字符串 −
# 导入codecs模块
import codecs
# 输入字节
inputData = b'TutorialsPoint'
# 打印输入字节数据
print('输入数据:', inputData)
# 打印输入数据的类型
print(type(inputData))
# 使用codecs.decode()函数将输入字节转换为Python字符串
result = codecs.decode(inputData)
# 打印解码后的结果数据
print('输出数据:', result)
# 打印转换后输出数据(result)的类型
print(type(result))
输出结果
执行上述程序后,会生成以下输出结果 −
输入数据: b'TutorialsPoint'
<class 'bytes'>
输出数据: TutorialsPoint
<class 'str'>
使用pandas库
语法
str.decode()
通过在pandas中的数据框中调用 str.decode() 函数,可以快速将字节转换为字符串。
默认情况下,Python字符编码通常为UTF-8。
Algorithm (步骤)
以下是执行所需任务的算法/步骤–。
- 使用import关键字导入pandas模块。
-
创建一个变量来存储输入的字典,并为其赋予一些随机的键值对。(在此处,我们将字节作为值传递)
-
使用DataFrame()函数来创建上述输入字典的pandas数据框。
-
使用 decode() 函数将 clothes 列的值从 bytes 转换为 string 并将这个结果数据框存储在一个变量中。
-
在将值从 bytes 转换为 string 后,打印结果数据框。
示例
下面的程序将返回将其值从 bytes 转换为 string 的pandas数据框–
#导入 pandas 模块
import pandas as pd
# 输入字典
inputDict = {'clothes' : [ b'shirt', b'pant', b'tshirt', b'cap']}
# 创建上述字典的 pandas 数据框
dataframe = pd.DataFrame(data=inputDict)
# 将字典值(bytes)转换为string
result = dataframe['clothes'].str.decode("utf-8")
# 将值从 bytes 转换为 string 后,打印结果数据框
print(result)
输出
在执行上述程序后,将生成以下输出–
0 shirt
1 pant
2 tshirt
3 cap
Name: clothes, dtype: object
结论
在本文中,我们学习了如何使用四种不同的方法将 bytes 转换为 Python 字符串。我们还学习了如何将 python 字典转换为 pandas 数据框。我们学习了如何使用 decode() 函数将列值转换为字符串。