Python:将字符串转换为字节数组

2024-06-07 11:10:43 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个4个字符的字符串,我想把这个字符串转换成一个字节数组,在这个数组中,字符串中的每个字符都被转换成它的十六进制等价物。e、 g

str = "ABCD"

我想把我的输出

array('B', [41, 42, 43, 44])

有没有一个简单的方法来实现这一点?


Tags: 方法字符串字节数组字符arrayabcdstr
3条回答

只需使用一个bytearray()字节列表。

Python2:

s = "ABCD"
b = bytearray()
b.extend(s)

Python3:

s = "ABCD"
b = bytearray()
b.extend(map(ord, s))

顺便说一下,不要使用str作为变量名,因为它是内置的。

encode函数可以在这里帮助您,encode返回字符串的编码版本

In [44]: str = "ABCD"

In [45]: [elem.encode("hex") for elem in str]
Out[45]: ['41', '42', '43', '44']

也可以使用数组模块

In [49]: import array

In [50]: print array.array('B', "ABCD")
array('B', [65, 66, 67, 68])

获取字节数组的另一种方法是用ascii:b=s.encode('ascii')编码字符串。

相关问题 更多 >

    热门问题