Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何使用bash将二进制文件转换为十进制格式?_Linux_Bash_File_Unix_Decimal - Fatal编程技术网

Linux 如何使用bash将二进制文件转换为十进制格式?

Linux 如何使用bash将二进制文件转换为十进制格式?,linux,bash,file,unix,decimal,Linux,Bash,File,Unix,Decimal,我有一个由我的程序生成的二进制文件,但我需要比较它的十进制内容,以检查它们是否符合我的要求。然而,我似乎找不到一种使用bash来实现这一点的方法,是否有任何代码可以让我实现这一点?每当我用升华文本这样的程序打开它,我就会得到十六进制格式的内容;然而,我不是在寻找那个 5249 4646 5200 0000 5741 5645 666d 7420 1000 0000 0100 0200 44ac 0000 10b1 0200 0400 1000 6461 7461 2e00 0000 0200 0

我有一个由我的程序生成的二进制文件,但我需要比较它的十进制内容,以检查它们是否符合我的要求。然而,我似乎找不到一种使用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 
在bash中,只需键入

xxd -b yourbinaryfile

对于十进制字节转储:

od-tu1文件名

对于十进制的2字节字转储:


od-tu2文件名

您所说的“十进制内容”到底是什么意思?如果你一次转换4位,你会得到一个十六进制数字,如果你一次转换3位,你会得到一个八进制数字。。。。。上述评论毫无意义。对不起,数字系统不是这样工作的。你试过在文件上使用“字符串”吗?老实说,这看起来像一个文本文件,而不是一个二进制文件,如果你能把它放进文本编辑器中,并把数字和字母输出的话。所以“字符串”可能不起作用。您可能需要循环并返回到十进制格式。下面是我发现的一个快速教程:该文件是一个wav文件为了得到更好的答案,请编辑您的问题,以更清楚地解释您的用例和所需的解决方案。提供您正在看到的内容和您希望看到的内容的示例将有助于社区帮助您。这是二进制的,是否有任何命令可以让我将其转换为十进制?我想我不理解您对十进制的含义。二进制文件只是。。。二元的。十进制对我来说意味着:从0到9的数字。它们是公共语言中使用的字符,在使用代码表(例如UTF8)转换时具有十六进制表示形式。你能解释一下二进制文件的内容并举例说明你希望如何表示它吗?@NonPlusUltra十六进制:
0xff
,二进制:
0b11111111
,十进制:
255
。所以输出应该是0到256之间的数字。