Конвертер з HEX у BIN
Перетворення текстових файлів Intel HEX на двійкові байтові потоки видаляє обгортки форматування ASCII, готуючи код для безпосереднього програмування флеш-пам'яті мікроконтролера.
Порівняння форматів та технічні характеристики
| Специфікація | HEX | BIN |
|---|---|---|
| MIME-тип | text/ | application/ |
| Тип | запис пам'яті у шістнадцятковому форматі | необроблений двійковий потік байтів |
| Стиснення | немає | немає |
| Стандартна специфікація | Intel HEX-32 Object Format | Raw Binary Byte Stream Specification |
| Заголовок магічних байтів | :[0-9A-Fa-f]{8} (Intel HEX colon record format) | Raw arbitrary binary bytes |
Огляд формату та застосування
Записи Intel HEX містять адреси, кількість байтів, типи записів і контрольні суми. Перетворення на необроблений двійковий файл прибирає обрамлення записів і повертає байти даних; пропуски адрес і вибрана базова адреса впливають на розміщення результату. Використовуйте Intel HEX, коли програматору потрібні явні адреси пам'яті.
Технічні специфікації та розбір кодеків
Intel HEX використовує MIME-тип text/plain, кодуючи кожен байт даних і адресу пам'яті як два символи ASCII разом із початковими кодами, індикаторами довжини та контрольними сумами. Натомість Raw Binary використовує application/octet-stream, представляючи неформатовану послідовність фактичних байтів даних. Жоден формат не використовує стиснення, тобто обидва є суворо без втрат. Файли Intel HEX не мають підпису магічного байта, хоча завжди починаються з двокрапки ASCII. Двійкові файли також не мають магічних заголовків чи кінцевих маркерів, містячи виключно сирі байти даних для цільової карти пам'яті. Алгоритм конвертації зчитує кожен рядок Intel HEX, розбирає пари шістнадцяткових значень ASCII, перевіряє контрольну суму запису та записує отримані двійкові байти безпосередньо в зазначене зміщення пам'яті.
Сумісність з ОС та браузерами
Операційні системи, такі як Windows, macOS і Linux, легко справляються з цим перетворенням за допомогою утиліт командного рядка на кшталт objcopy або спеціальних скриптів. Сучасні веббраузери можуть виконувати трансляцію локально за допомогою JavaScript та API FileReader, дозволяючи розробникам конвертувати файли безпосередньо всередині середовищ розробки на базі браузера. Мобільні ОС не мають нативних утиліт прошивання через командний рядок, але вебзастосунки на iOS та Android можуть обробляти це перетворення для віддалених польових оновлень.
Корисна інформація
Завжди перевіряйте адреси зміщення пам'яті у файлі Intel HEX перед конвертацією в Raw Binary, оскільки розсіяні сегменти пам'яті залишать прогалини з нульових байтів у двійковому вихідному файлі, що потенційно збільшить його розмір.
Поширені запитання
Як конвертувати Intel HEX у Raw Binary без втрати якості?
Обидва формати зберігають точні машинні інструкції без стиснення, що робить це перетворення суворо без втрат. Процес просто видаляє текстові обгортки ASCII та контрольні суми, залишаючи базовий двійковий код повністю неушкодженим.
У чому різниця між Intel HEX та Raw Binary?
Intel HEX - це текстовий формат ASCII, який включає маркери адрес, лічильники байтів і коди перевірки помилок для зручності читання людиною та безпечної передачі. Raw Binary - це образ пам'яті, що містить лише сирі машинні байти, готові до безпосереднього виконання процесором.