2024-06-07 11:10:43 发布
网友
假设我有一个4个字符的字符串,我想把这个字符串转换成一个字节数组,在这个数组中,字符串中的每个字符都被转换成它的十六进制等价物。e、 g
str = "ABCD"
我想把我的输出
array('B', [41, 42, 43, 44])
有没有一个简单的方法来实现这一点?
只需使用一个bytearray()字节列表。
bytearray()
Python2:
s = "ABCD" b = bytearray() b.extend(s)
Python3:
s = "ABCD" b = bytearray() b.extend(map(ord, s))
顺便说一下,不要使用str作为变量名,因为它是内置的。
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')编码字符串。
b=s.encode('ascii')
只需使用一个
bytearray()
字节列表。Python2:
Python3:
顺便说一下,不要使用
str
作为变量名,因为它是内置的。encode函数可以在这里帮助您,encode返回字符串的编码版本
也可以使用数组模块
获取字节数组的另一种方法是用ascii:
b=s.encode('ascii')
编码字符串。相关问题 更多 >
编程相关推荐