Sur ma machine, je reçois la sortie suivante lorsque j'exécute ces commandes:
$ echo foos > myfile
$ hexdump myfile
6f66 736f 000a
La sortie de Hexdump est petite-Endian. Cela signifie-t-il que ma machine est petite-Endian ou Hexdump utilise-t-elle toujours un format petit-Endian?
L'utilitaire traditionnel BSD hexdump
utilise l'endansement de la plate-forme, de sorte que la sortie que vous voyez signifie que votre machine est petite-Endian.
Utilisation hexdump -C
(ou od -t x1
) Pour obtenir une sortie cohérente d'octet-octet indépendamment de l'endansion de la plate-forme.
Du manage:
-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.
Votre sortie est petite-Endian (l'octet moins significatif d'abord), qui est également l'endansion des architectures x86 et x86_64, que vous utilisez probablement.