Я шукав, як зробити зворотний hexdump і знайшов згаданий xxd. Однак, схоже, це не працює просто:
xxd -r hexdumpfile > binaryfile
Потім я порівняв різницю між результатами xxd infile
та hexdump infile
і виявив три відмінності:
- Вихід xxd має двокрапку після адреси
- xxd вихід має позиції в даних, обернених (наприклад,
5a42
у hexdump вихід стає425a
xxd виведенням) - Після кожного рядка є кілька зайвих символів
У мене на сервері є лише шестигранна версія певних файлів. Як я можу правильно повернути бінарні дані за допомогою xxd?
Шукав якийсь - то варіант в XXD взяти в форматі шістнадцятирічного, але зараз вдалося це зробити з деякими простими СЕД операцій
—
Танон
Я не дуже перевіряв саме те, що ви запитуєте, але спробуйте xxd -p і -b, -p є простим -b є двійковим, як і ваш -r. Що стосується порядку байтів, то це стосується великих ендіанів та маленьких ендіан, і, можливо, xxd не може це змінити .. але це пов'язано з тим, як байти зберігаються у файлі. Як, якщо у вас є текстовий файл у блокноті ви можете зберегти його як 16-розрядний великий ендіан, або маленький ендіан, або UTF-8, або що завгодно, і ви бачите відмінність від xxd. Команда od може відображати її інакше.
—
барлоп
Для подальшої довідки
—
Визнали
hexdump
дозволяє вибирати витривалість, що використовується у її результатах, що могло б зробити це простішим. (Чому зараз?