2015-01-28 4 views
-2

У меня есть двоичный файл, сгенерированный моей программой, но мне нужно сравнить его десятичное содержимое, чтобы проверить, соответствуют ли они моим требованиям. Тем не менее, я не могу найти способ сделать это, используя bash, есть ли какой-нибудь код, который позволяет мне это сделать? Всякий раз, когда я открываю его, используя программу, такую ​​как возвышенный текст, я получаю содержимое в форме HEX; однако я этого не ищу.Преобразование двоичного файла в десятичный формат с использованием bash, как?

5249 4646 5200 0000 5741 5645 666d 7420 
1000 0000 0100 0200 44ac 0000 10b1 0200 
0400 1000 6461 7461 2e00 0000 0200 0200 
0200 0300 0300 0900 0900 0900 0c00 0c00 
1400 1400 1400 1800 1800 0c00 0c00 0c00 
0600 0600 0200 0200 0200 
+0

Что именно вы подразумеваете под «десятичным содержанием»? Если вы конвертируете 4 бита за раз, вы получаете шестую цифру, если вы конвертируете 3 бита за один раз, вы получаете восьмеричную цифру. – Squirrel

+0

.... вышеупомянутый комментарий не имеет никакого смысла. Извините, но числовые системы не работают таким образом. – specializt

+0

Вы пытались использовать «строки» в файле? Если честно, это выглядит как текстовый файл, а не двоичный файл, если вы можете поместить его в текстовый редактор и получить номера и буквы. Так что «строки», вероятно, не сработают. Вероятно, вам нужно пройти цикл и вывести его в десятичный формат. Вот краткое руководство, которое я нашел: http://linuxcommando.blogspot.com/2008/04/quick-hex-decimal-conversion-using-cli.html – suiterdev

ответ

0

В Баш, просто введите

xxd -b yourbinaryfile 
+1

Это работает в двоичном формате, есть ли какая-нибудь команда, которая позволяет мне преобразовать их в десятичные? – OHHH

+0

Не думаю, что я понимаю, что вы имеете в виду с десятичной запятой. Бинарный файл просто ... двоичный. Десятичное значение означает: цифры от 0 до 9. Они являются символами, используемыми в общем языке, и имеют шестнадцатеричное представление при преобразовании с кодовой таблицей (например, UTF8). Можете ли вы уточнить содержимое двоичного файла и дать пример того, как вы хотите его представить? –

1

Для сброса байт в десятичной системе:

od -t u1 filename

Для сброса 2-байтовых слов в десятичной системе:

od -t u2 filename

Смежные вопросы