我有一个整数数组,我需要将其转换为字符串。
[1,2,3,4] => '\x01\x02\x03\x04'
我可以使用什么功能?我尝试使用 str(),但它返回“1234”。
string = ""
for val in [1,2,3,4]:
string += str(val) # '1234'
''.join([chr(x) for x in [1, 2, 3, 4]])
您可以将 alist
的小数直接转换为 a bytearray
:
如果是可迭代的,则必须是 0 <= x < 256 范围内的整数的可迭代,用作数组的初始内容。
您可以将 abytearray
直接转换为str
(2.x) 或bytes
(3.x, 或 2.6+)。
事实上,在 3.x 中,您甚至可以将列表直接转换为,bytes
而无需经过bytearray
:
构造函数参数被解释为 bytearray()。
所以:
str(bytearray([1,2,3,4])) # 2.6-2.7 only
bytes(bytearray([1,2,3,4])) # 2.6-2.7, 3.0+
bytes([1,2,3,4]) # 3.0+ only
如果您真的想要 3.x 中的字符串,而不是字节字符串,则需要对其进行解码:
bytes(bytearray([1,2,3,4])).decode('ascii')
有关更多详细信息,请参阅文档中的二进制序列类型。