Почему 44100 в гексагоне в обратном порядке в редакторе гексагонов? - PullRequest
5 голосов
/ 02 ноября 2011

Я открыл волновой файл через hex-редактор.Я попробовал два шестнадцатеричных редактора, и оба поместили 44100 в шестнадцатеричном (AC44) в обратном порядке.

Почему это так?Для символов ASCII, «fmt», порядок является естественным.

enter image description here

Это AC44.

enter image description here

Имеет ли этоделать с Big-Endian / Little-Endian?Но почему другие значения отображаются в правильном порядке?

Спасибо!

Ответы [ 4 ]

6 голосов
/ 02 ноября 2011

Да, он хранится в формате с прямым порядком байтов.Порядковый номер каждого поля показан здесь :

WAV format

Обратите внимание, что существует комбинация старшего и младшего порядкового номера.

1 голос
/ 02 ноября 2011

Поскольку ваш шестнадцатеричный редактор печатает шестнадцатеричные байты с низкого адреса на высокий адрес, а машины с прямым порядком байтов (например, x86 / ia32) хранят младшие цифры многобайтовых объектов в нижнем адресе.

Вы можете распечатать память с старших адресов на младшие (но все же слева направо), если хотите видеть байты в обратном порядке, поскольку числа обычно печатаются таким образом в англоязычных странах.

1 голос
/ 02 ноября 2011

Это имеет отношение к порядку байтов. Тип данных, в который вы пишете, представляет собой целое число, которое сохраняется в виде многобайтового фрагмента.

Причина, по которой атомы текста выглядят так, что они не перевернуты, заключается в том, что они представляют собой упорядоченный список однобайтовых символов.

1 голос
/ 02 ноября 2011

На самом деле это зависит от архитектуры и / или формата файла, см., Например, здесь . Вы можете найти оба случая: один, где старший байт идет первым, а также, где младший байт идет первым. В вашем случае это первый (называемый litte endian).

...