You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将BIN文件转换为十进制并保存为TXT文件?

如何将BIN文件转换为十进制数据并保存到TXT文件?

你之前的代码其实踩了个小坑:当你把读取到的bytes对象直接转成str时,得到的是它的字符串表示形式(比如b'\x14\x12...'这种带b''的格式),之后用ord(c)取的是这个字符串里每个字符的ASCII码,而不是原始二进制字节本身的十进制值——这就是为什么你会看到98(对应字符'b')、39(对应单引号)这些和原始数据无关的数值。

要正确转换并保存,我们直接处理二进制字节本身就好,步骤很简单:

正确实现代码

情况1:读取整个BIN文件并转换

如果需要把整个BIN文件的内容都转成十进制保存:

# 读取二进制文件
with open("atb.bin", "rb") as bin_file:
    # 一次性读取所有二进制数据
    binary_data = bin_file.read()
    # 遍历每个字节,直接得到对应的十进制整数
    decimal_values = [byte for byte in binary_data]
    # 把整数列表转成空格分隔的字符串
    decimal_str = ' '.join(map(str, decimal_values))

# 将结果写入TXT文件
with open("output.txt", "w") as txt_file:
    txt_file.write(decimal_str)

情况2:按固定字节数读取(比如你原来的8字节)

如果只需要读取指定长度的字节(比如你之前的8字节),可以修改读取部分:

with open("atb.bin", "rb") as bin_file:
    # 读取8字节的二进制数据
    binary_data = bin_file.read(8)
    decimal_values = [byte for byte in binary_data]
    decimal_str = ' '.join(map(str, decimal_values))

with open("output.txt", "w") as txt_file:
    txt_file.write(decimal_str)

效果说明

拿你提供的b'\x14\x12\x1c\x1a#\x00-d'来说,用上面的代码转换后,得到的十进制值会是:20 18 28 26 35 0 45 100,这就是原始二进制字节对应的正确十进制数值,会直接写入到output.txt文件里。

内容的提问来源于stack exchange,提问作者Aj Mv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:07:52