Sim, a utilidade tradicional% BSD hexdump
sempre usa o endianness da plataforma. Use hexdump -C
(ou od -t x1
) para obter uma saída byte por byte mais sensata.
Na minha máquina, recebo a seguinte saída quando executo estes comandos:
$ echo foos > myfile
$ hexdump myfile
6f66 736f 000a
A saída do hexdump é little-endian. Isso significa que minha máquina é little-endian, ou o hexdump usa sempre o formato little-endian?
Na página de manual:
-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.
Sua saída é realmente little-endian (byte menos significativo primeiro), que também é o endianness das arquiteturas x86 e x86_64, que você provavelmente está usando.