Python中的整数数组到字符串

时间:2013-06-12 23:51:16

标签: python converter

我有一个整数数组,我需要将其转换为字符串。

[1,2,3,4] => '\x01\x02\x03\x04'

我可以使用哪些功能?我尝试使用str(),但它返回'1234'。

string = ""
for val in [1,2,3,4]:
    string += str(val) # '1234'

2 个答案:

答案 0 :(得分:4)

''.join([chr(x) for x in [1, 2, 3, 4]])

答案 1 :(得分:4)

您可以将list小号直接转换为bytearray

  

如果它是可迭代的,则它必须是0< = x<范围内的整数的可迭代。 256,用作数组的初始内容。

您可以将bytearray直接转换为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')

有关详细信息,请参阅文档中的Binary Sequence Types