Преобразование бинарных данных в HEX

hexdump

Команда hexdump позволяет выводить содержимое бинарных файлов в понятном для человека виде.

Возможности по управлению выводом, позволяют формировать дамп для конкретных задач.

К примеру, необходимо сформировать дамп для вставки в программу на C/C++:

hexdump -n 64 -e '16/1 "0x%02x, " "<br/>n"' piano-wave.raw

В результате выполнения этой команды мы получим шестнадцатиричный дамп первых 64-х байт файла, сформированный в строки по 16 байт, следующего вида:

0x97, 0xa6, 0xb7, 0xc7, 0xd6, 0xe0, 0xe7, 0xe9, 0xe9, 0xe8, 0xe7, 0xe8, 0xeb, 0xf0, 0xf4, 0xf7,
0xf8, 0xf5, 0xee, 0xe4, 0xd6, 0xc6, 0xb4, 0xa3, 0x92, 0x83, 0x76, 0x6b, 0x61, 0x58, 0x4f, 0x45,
0x3b, 0x30, 0x25, 0x1a, 0x10, 0x09, 0x03, 0x00, 0x00, 0x02, 0x06, 0x0d, 0x17, 0x23, 0x30, 0x3f,
0x4d, 0x59, 0x62, 0x66, 0x65, 0x61, 0x5b, 0x55, 0x51, 0x51, 0x54, 0x5b, 0x64, 0x6d, 0x76, 0x7c,

xxd

Так же для получения дампа бинарного файла можно воспользоваться утилитой xxd входящей в соствав редактора vim (В debian или ubuntu она входит в пакет vim-common).

К примеру, что бы получить готовый кусок кода пригодного для использования в C, можно дать команду:

xxd -i stuff.jpg stuff.h

Здесь ключ -i указывает утилите сформировать код C из бинарного файла stuff.jpg и сохранить его в заголовочный файл stuff.h.

 
comments powered by Disqus