从 Python 上的 ascii int 列表创建 .bin 字节文件

Creating a .bin bytes file from ascii int list on Python

我正在尝试将字符串/整数列表转换为 .bin 字节格式的最终​​文件:

final_data = ['3247', '5146', '6971', '-8192', '8192', '11192']
final_data2 = [int(i) for i in final_data]
arr = bytes(final_data2)
with open("data.bin", "wb") as fh:
    fh.write(arr)

但是我收到这个错误:

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

如何知道我有负数和大于 256 的数字?

你可以这样做: to_bytes() 调用将每个 int 转换为二进制表示形式。

final_data = ['3247', '5146', '6971', '-8192', '8192', '11192']

with open("data.bin", "wb") as fh:
    for i in final_data:
      fh.write(int(i).to_bytes(32, byteorder = 'big', signed = True))