Конвертер на суров бинарен код към Intel HEX

Преобразуването на суров бинарен поток от байтове в текстов запис Intel HEX превежда суровия машинния код в четим от ASCII формат, изискван от хардуерните програмисти.

Изберете или пуснете файлове тук

100% поверително конвертиране в браузъра - файловете никога не напускат вашето устройство

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Сравнение на формати и технически спецификации

СпецификацияBINHEX
MIME типapplication/octet-streamtext/plain
Типraw binary byte streamhexadecimal memory record
Компресияnonenone
Стандартна спецификацияRaw Binary Byte Stream SpecificationIntel HEX-32 Object Format
Заглавни байтове (Magic Bytes)Raw arbitrary binary bytes:[0-9A-Fa-f]{8} (Intel HEX colon record format)

Преглед на формата и приложения

Инженерите на вградени системи и хардуерните разработчици често трябва да прехвърлят компилиран фърмуер към микроконтролери като PIC, AVR и по-стари 8051 чипове. Хардуерните програмисти рядко приемат директно сурови бинарни файлове, тъй като на тези файлове им липсва информация за адресите на паметта. Чрез трансформирането на бинарен файл в Intel HEX формат, разработчиците добавят съществени метаданни, като целеви адреси на паметта и контролни суми, гарантиращи, че кодът попада на правилното място в чипа. Старите инструменти за отстраняване на грешки, устройствата за запис на EEPROM и лабораторните тестови стендове разчитат на формата Intel HEX за програмиране на хардуер. Докато суровият бинарен файл е просто непрекъснат низ от сурови байтове данни без инструкции къде да започне или спре в паметта, файлът Intel HEX организира тези данни в отделни записи. Тази текстурна структура улеснява проверката, редактирането или предаването през основни серийни интерфейси без повреда на данните.

Технически спецификации и анализ на кодеците

Суровите бинарни файлове използват MIME типа application/octet-stream, представляващ неформатиран поток от байтове без компресия и с нула заглавни байтове (magic bytes). Файлът започва незабавно със сурови данни от приложение или фърмуер. За разлика от тях, Intel HEX използва MIME типа text/plain и кодира бинарни байтове в ASCII шестнадесетични двойки. Intel HEX файлът се състои от редове, наречени записи. Всеки запис започва с двуеточие ':', последвано от брой байтове, 16-битов адрес на паметта, тип на записа, байтове данни и байт за контролна сума в края. Нито един формат не използва компресия; и двата запазват всеки един оригинален бит точно, което води до 100 процента загуба на данни (lossless). Разширението се случва, защото всеки един бинарен байт се превежда в два ASCII знака, което грубо удвоява размера на файла.

Съвместимост с операционни системи и браузъри

Intel HEX файловете са обикновен текст и се отварят чисто във всеки текстов редактор, кросплатформен терминал или специализиран инструмент за хардуерно програмиране в Windows, macOS и Linux. Модерните уеб браузъри могат да четат и анализират текстови файлове Intel HEX незабавно, използвайки JavaScript FileReader API. Десктоп микрочип IDE среди, като MPLAB или Atmel Studio, поддържат нативно Intel HEX входове за хардуерно програмиране.

Полезна информация

Тъй като Intel HEX превежда всеки бинарен байт в два текстови знака плюс допълнителни адресни надбавки, вашият конвертиран файл ще бъде приблизително два пъти по-голям от оригиналния бинарен файл. Имайте предвид това, когато работите с микроконтролери, които имат ограничено пространство за съхранение на скриптове за програмиране.

Сравнение на формати и технически спецификации

Стандартен 128-килобайтов фърмуерен двоичен файл се разширява до около 256 килобайта, когато бъде преобразуван в текстов файл Intel HEX. Прехвърлянето на този текстов файл отнема по-малко от милисекунда през стандартна 4G връзка, 5G мрежа или високоскоростна оптична връзка.

Често задавани въпроси

Как се конвертира суров бинарен код към Intel HEX без загуба на качество?

Преобразуването е напълно загубено без компромис в качеството. И двата формата съхраняват точни сурови стойности на байтовете, без да използват алгоритми за компресия, което означава, че по време на превода не се изхвърлят или променят данни.

Каква е разликата между суров бинарен код и Intel HEX?

Суровият бинарен код е компактна, неформатирана последователност от байтове без структурни метаданни или адреси на паметта. Intel HEX е ASCII текстов формат, който разделя данните на структурирани редове, съдържащи типове записи, начални адреси на паметта и контролни суми за проверка на грешки.