hexdump 是否尊重其系统的字节顺序?

hexdump 是否尊重其系统的字节顺序?

在我的机器上运行这些命令时,我得到以下输出:

$ echo foos > myfile
$ hexdump myfile
6f66 736f 000a

hexdump 的输出是小端字节序。这是否意味着我的机器是小端字节序,或者 hexdump 始终使用小端字节序格式?

答案1

传统的 BSDhexdump实用程序使用平台的字节序,因此您看到的输出意味着您的计算机是小字节序。

使用hexdump -C(或od -t x1) 可以获得一致的逐字节输出,而不管平台的字节顺序如何。

答案2

从联机帮助页:

 -x      Two-byte hexadecimal display.  Display the input offset in hexa‐
         decimal, followed by eight, space separated, four column, zero-
         filled, two-byte quantities of input data, in hexadecimal, per
         line.

...

 If no format strings are specified, the default display is equivalent to
 specifying the -x option.

您的输出是小端字节序(最低有效字节在前),这也是您可能正在使用的 x86 和 x86_64 架构的字节序。

相关内容