HEX转BIN转换器
将 Intel HEX 文本文件转换为原始二进制字节流,剥离 ASCII 格式包装器,为直接微控制器闪存编程准备代码。
格式比较与技术规格
| 规格 | HEX | BIN |
|---|---|---|
| MIME 类型 | text/ | application/ |
| 类型 | 十六进制内存记录 | 原始二进制字节流 |
| 压缩 | 无 | 无 |
| 标准规范 | Intel HEX-32 对象格式 | 原始二进制字节流规范 |
| 魔数文件头 (Magic Bytes) | :[0-9A-Fa-f]{8} (Intel HEX colon record format) | Raw arbitrary binary bytes |
格式概述与应用
Intel HEX 记录包含地址、字节数、记录类型和校验和。转换为原始二进制会移除这些记录框架并输出数据字节;地址间隙和所选基址会影响输出映像的布局。如果编程器需要明确的内存地址,请使用 Intel HEX。
技术规格与编解码器解析
Intel HEX 使用 text/plain MIME 类型,将每个数据字节和内存地址编码为两个 ASCII 字符,并附带起始代码、长度标记和校验和。相比之下,原始二进制使用 application/octet-stream MIME 类型,表示未格式化的实际数据字节序列。这两种格式都不使用压缩,因此转换完全无损。Intel HEX 文件没有魔数签名,但总以 ASCII 冒号开头。原始二进制文件也没有魔数标头或尾部,只包含目标内存映射所需的原始数据字节。转换算法逐行读取 Intel HEX,解析 ASCII 十六进制数对、验证记录校验和,再将所得二进制字节写入指定的内存偏移量。
操作系统与浏览器兼容性
Windows、macOS 和 Linux 等操作系统通过 objcopy 等命令行实用程序或自定义脚本可以轻松处理此转换。现代网页浏览器可以使用 JavaScript 和 FileReader API 在本地执行转换,允许开发人员直接在基于网页的开发环境中转换文件。移动操作系统缺乏原生的命令行烧录工具,但运行在 iOS 和 Android 上的网页应用程序可以在需要远程现场更新时处理转换。
实用信息
在转换为原始二进制文件之前,请务必验证 Intel HEX 文件中的内存偏移地址,因为分散的内存段会在生成的二进制输出中留下用零填充字节的间隙,从而可能膨胀文件大小。
常见问题
如何将 Intel HEX 转换为原始二进制文件而不损失质量?
这两种格式都存储精确的机器指令而不进行压缩,使其成为严格无损的转换。转换只是剥离了 ASCII 文本包装器和校验和,使底层二进制代码完全完好无损。
Intel HEX 与原始二进制有什么区别?
Intel HEX 是一种 ASCII 文本格式,包含地址标记、字节计数和错误检查代码,便于人类阅读和安全传输。原始二进制是包含处理器直接执行所需的纯原始机器字节的内存镜像。