O hexdump respeita o endianness de seu sistema?

17

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?

    
por Cory Klein 15.11.2012 / 00:48

2 respostas

23

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.

    
por 15.11.2012 / 00:55
5

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.

    
por 15.11.2012 / 00:54