将大型int列表转换为字节串python

时间:2018-01-21 16:48:02

标签: python int byte

我需要将int list转换为字节串,但我不知道如何。我无法使用bytes()因为值太大了。

bytes([152710136, 76354857, 38177353, 2252736081, 1126368238])

我收到此错误:

ValueError: bytes must be in range(0, 256)

预期值为:

b'\xc4\xb7\x86\x17\xcd'

2 个答案:

答案 0 :(得分:2)

您可以使用.to_bytes返回表示整数的字节数组。 注意:这仅适用于python 3.1及更高版本。

例如:

>>> (1024).to_bytes(2, byteorder='big')
b'\x04\x00'

答案 1 :(得分:0)

我需要使用 struct.unpack() 并且它接受一个字节字符串而不是一个整数列表。我能够将我的整数列表转换为字节字符串:

bytearray(mylist)

在 python 2.7 上测试。