从 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))
我正在尝试将字符串/整数列表转换为 .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))