Почему 44100 в шестнадцатеричном формате в обратном порядке в шестнадцатеричном редакторе?

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

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

введите здесь описание изображения

Это АС44.

введите здесь описание изображения

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

Спасибо!


person CppLearner    schedule 01.11.2011    source источник


Ответы (4)


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

формат WAV

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

person Mark Byers    schedule 01.11.2011
comment
Дополнительные сведения о тегах FOURCC (WAVE, fmt) см. в разделе msdn.microsoft.com/en-us/library/windows/desktop/ - person Cameron Hotchkies; 02.11.2011

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

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

person Cameron Hotchkies    schedule 01.11.2011

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

person Howard    schedule 01.11.2011

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

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

person hotpaw2    schedule 02.11.2011