Когда я hexdump filename.txt
получаю следующее как вывод:
00000000 ac5a 5afb c08d 5d15 26d0 2491 e8c9 8917
00000010
Когда я <?= bin2hex(file_get_contents('filename.txt')); ?>
получаю это:
5aacfb5a8dc0155dd0269124c9e81789
Так почему hexdump предполагает, что содержимое должно быть, ac5a5afbc08d5d1526d02491e8c98917
когда PHP предполагает, что оно должно быть 5aacfb5a8dc0155dd0269124c9e81789
? Я просто не правильно интерпретирую вывод hexdump?
Ответы:
Разница между порядком байтов и порядком байтов .
Начнем с первых четырех байт вывода шестнадцатеричного:
ac5a 5afb
. Теперь переключите порядок байтов, чтобы получить:Сравните это с выводом PHP:
Они совпадают.
По умолчанию BSD
hexdump
отображает вывод на основе порядкового номера машины. Если вы не хотите этого, вы можете указать-C
опцию, чтобы получить вывод побайтно, а не пословно:источник