Python程序将字节字符串转换为列表
字节字符串类似于字符串(Unicode),但它包含一系列字节而不是字符。处理纯ASCII文本而不是Unicode文本的应用程序可以使用字节字符串。
在Python中将字节字符串转换为列表提供了兼容性、可修改性和更容易访问单个字节的功能。它允许与其他数据结构无缝集成,方便修改元素,并能够有效地分析和操作字节字符串的特定部分。
演示
假设我们已经获取了一个输入字节字符串。我们现在将使用上述方法将给定的字节字符串转换为ASCII值的列表,如下所示。
输入
inputByteString = b'Tutorialspoint'
输出
List of ASCII values of an input byte string: [84, 117, 116, 111, 114, 105, 97, 108, 115, 112, 111, 105, 110, 116]
使用的方法
以下是完成此任务的各种方法
使用list()函数
使用for循环和ord()函数
使用from_bytes()函数
方法1:使用list()函数
此方法将演示如何使用Python的简单list()函数将字节字符串转换为列表字符串。
list()函数
返回可迭代对象的列表。这意味着它将可迭代对象转换为列表。
语法
list([iterable])
算法(步骤)
以下是执行所需任务应遵循的算法/步骤。
创建一个变量来存储输入字节字符串。
使用list()函数将输入字节字符串转换为包含输入字节的ASCII值的列表,并将输入字节字符串作为参数传递,并打印结果列表。
示例
以下程序使用list()函数将输入字节字符串转换为列表,并返回输入字节字符串的ASCII值的列表。
# input byte string inputByteStr = b'Tutorialspoint' # converting the input byte string into a list # which contains the ASCII values as a list of an input byte string print("List of ASCII values of an input byte string:") print(list(inputByteStr))
输出
执行上述程序后,将生成以下输出
List of ASCII values of an input byte string: [84, 117, 116, 111, 114, 105, 97, 108, 115, 112, 111, 105, 110, 116]
方法2:使用for循环和ord()函数
在此方法中,我们将使用Python的简单for循环和ord()函数的组合来将给定的字节字符串转换为列表。
ord()函数
将给定字符的Unicode代码作为数字返回。
语法
ord(char)
参数
char: 输入字节字符串。
算法(步骤)
以下是执行所需任务应遵循的算法/步骤
创建一个变量来存储输入字节字符串。
创建一个空列表来存储输入字节字符串字符的ASCII值。
使用for循环遍历输入字节字符串的每个字符。
使用ord()函数(将给定字符的Unicode代码/ASCII值作为数字返回)获取每个字符的ASCII值。
使用append()函数(在末尾将元素添加到列表中)将其追加到结果列表中。
打印输入字节字符串的Unicode/ASCII值,即将其转换为列表。
示例
以下程序使用for循环和ord()函数将输入字节字符串转换为列表,并返回输入字节字符串的ASCII值的列表。
# input byte string inputByteStr = 'Tutorialspoint' # empty list for storing the ASCII values of input byte string characters resultantList = [] # traversing through each character of the input byte string for c in inputByteStr: # getting the ASCII value of each character using the ord() function # and appending it to the resultant list resultantList.append(ord(c)) # Printing the Unicode/ASCII values of an input byte string print("List of ASCII values of an input byte string:", resultantList)
输出
执行上述程序后,将生成以下输出
List of ASCII values of an input byte string: [84, 117, 116, 111, 114, 105, 97, 108, 115, 112, 111, 105, 110, 116]
方法3:使用from_bytes()函数
在此方法中,我们将了解如何使用from_bytes()函数将字节字符串转换为列表。
from_bytes()函数
要将给定的字节字符串转换为等效的int值,请使用from_bytes()函数。
语法
int.from_bytes(bytes, byteorder, *, signed=False)
参数
bytes: 字节对象。
byteorder: 整数值的表示顺序。在“小端”字节序中,最高有效位存储在末尾,最低有效位存储在开头,而在“大端”字节序中,MSB放在开头,LSB放在末尾。大端字节序确定整数的256进制值。
signed: 其默认值为False。此参数指示是否表示数字的二进制补码。
示例
以下程序使用from_bytes()函数将给定的输入字节字符串转换为列表
# input byte string inputByteStr = b'\x00\x01\x002' # Converting the given byte string to int # Here big represents the byte code intValue = int.from_bytes(inputByteStr , "big") # Printing the integer value of an input byte string print(intValue)
输出
65586
结论
本文向我们介绍了三种将给定字节字符串转换为列表的不同方法。此外,我们还学习了如何使用ord()函数获取字符的ASCII值。最后,我们学习了如何使用append()函数在末尾将元素添加到列表中。