Я много работаю с сетевым и последовательным коммуникационным программным обеспечением, поэтому мне часто необходимо, чтобы код отображал или записывал шестнадцатеричные дампы пакетов данных.
Каждый раз, когда я это делаю, я пишу еще одну процедуру с шестнадцатеричным дампом с нуля. Я собираюсь сделать это снова, но подумал, что я бы спросил здесь: есть ли какой-нибудь хороший бесплатный код дампа для С++ где-то там?
Функции, которые я хотел бы:
- N байтов на строку (где N как-то настраивается)
- необязательный дамп ASCII/UTF8 вместе с шестнадцатеричным
- настраиваемый отступ, префикс строки, суффикс строки и т.д.
- минимальные зависимости (в идеале, я хотел бы, чтобы код был в файле заголовка или был фрагментом, который я могу просто вставить)
Изменить: Уточнение: я ищу код, который я могу легко занести в свои собственные программы для записи в stderr, stdout, файлы журналов или другие такие выходные потоки. Я не ищу утилиту hex dump командной строки.