Cuando lo hago hexdump filename.txt
, obtengo lo siguiente como salida:
00000000 ac5a 5afb c08d 5d15 26d0 2491 e8c9 8917
00000010
Cuando lo hago <?= bin2hex(file_get_contents('filename.txt')); ?>
me sale esto:
5aacfb5a8dc0155dd0269124c9e81789
Entonces, ¿por qué hexdump sugiere que los contenidos deberían ser ac5a5afbc08d5d1526d02491e8c98917
cuando PHP sugiere que deberían ser 5aacfb5a8dc0155dd0269124c9e81789
? ¿No estoy interpretando correctamente la salida de hexdump?
Respuestas:
La diferencia es el orden big-endian vs. little-endian .
Comenzar con los primeros cuatro bytes de salida hexdump:
ac5a 5afb
. Ahora cambie el orden de bytes para obtener:Compare esto con la salida de PHP:
Ellos coinciden.
Por defecto, BSD
hexdump
muestra resultados basados en la resistencia de la máquina. Si no quiere eso, puede especificar la-C
opción de obtener byte por byte en lugar de palabra por palabra:fuente