A diferença é ordem big-endian vs. little-endian .
Comece com os primeiros quatro bytes da saída hexadump: ac5a 5afb
. Agora mude a ordem de bytes para obter:
5aac fb5a
Compare isso com a saída do PHP:
5aac fb5a
Eles combinam.
Por padrão, o BSD hexdump
exibe a saída com base no endianness da máquina. Se você não quiser isso, você pode especificar a opção -C
para obter a saída byte por byte, em vez de palavra por palavra:
$ hexdump filename.txt
0000000 ac5a 5afb c08d 5d15 26d0 2491 e8c9 8917
0000010
$ hexdump -C filename.txt
00000000 5a ac fb 5a 8d c0 15 5d d0 26 91 24 c9 e8 17 89 |Z..Z...].&.$....|
00000010