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,代表由實際資料位元組組成的未格式化序列。這兩種格式皆不使用壓縮,也就是說,兩者都是完全無損的。Intel HEX 檔案沒有檔案簽章(magic bytes),但開頭一律是 ASCII 冒號。原始二進位檔案也沒有標頭或結尾,只包含要寫入目標記憶體對應位置的原始資料位元組。轉換演算法會讀取每一行 Intel HEX、解析 ASCII 十六進位數值對、驗證紀錄檢查碼,並將產生的二進位位元組直接寫入指定的記憶體位移位置。
作業系統與瀏覽器相容性
像是 Windows、macOS 與 Linux 等作業系統,可以透過 objcopy 或自訂指令碼等命令列公用程式輕鬆處理此轉換。現代網頁瀏覽器能夠使用 JavaScript 與 FileReader API 在本機執行轉檔,讓開發人員直接在以網頁為基礎的開發環境中轉換檔案。行動作業系統缺少原生命令列燒錄工具,但在 iOS 和 Android 上執行的網頁應用程式,若因遠端現場更新需要,也能處理此轉換。
實用資訊
在轉換為 原始二進位 之前,請務必檢查 Intel HEX 檔案中的記憶體位移位址,因為分散的記憶體區段會在產生的二進位檔輸出中留下填零的位元組間隙,進而可能膨脹檔案大小。
常見問題
如何在不失真的情況下將 Intel HEX 轉換為 原始二進位?
這兩種格式都會儲存未經壓縮的確切機器指令,使這成為完全無損的轉換。轉檔過程只是簡單地剝離 ASCII 文字包裝與檢查碼,讓底層的二進位程式碼保持完全完整。
Intel HEX 與 原始二進位 有什麼區別?
Intel HEX 是一種 ASCII 文字格式,包含位址標記、位元組計數與錯誤檢查碼,便於人類閱讀與安全傳輸。原始二進位 則是僅包含原始機器位元組的記憶體映像,隨時可供處理器直接執行。