Подтвердить что ты не робот

Почему байты целых чисел хранятся в обратном порядке? Это относится только к заголовкам?

В настоящее время я пытаюсь расшифровать файлы WAV. От заголовков до данных PCM.

Я нашел PDF (http://www.tdt.com/T2Support/technical_notes/tn0132.pdf), детализирующий анатомию WAV файла, и мне удалось извлечь и понять соответствующие данные заголовка с помощью Ghex2. Но мои вопросы:

Почему байты целых чисел хранятся в обратном порядке? То есть Декабре 20 сохраняется как 0x14000000 вместо 0x00000014.

Сохраняются ли целые числа данных PCM назад?

4b9b3361

Ответ 1

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

Если вы думаете об этом, это имеет смысл, потому что если вы хотите наложить длинное целое число на короткий или даже на символ, начальный адрес останется тем же, вы просто посмотрите на меньшее количество байтов.

Следовательно, для 16-битного кодирования вверх, для PCM будет использоваться малоформатный формат. Это очень удобно, так как вы сможете вытащить их в виде целых чисел. не забывайте, что они будут сохранены в виде двух дополняемых целых чисел, если они 16 бит, но не 8 бит. (подробнее см. http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html)

Ответ 2

"Назад" субъективен. Некоторые машины большие - endian, другие - endian. В байт-ориентированных контекстах, таких как форматы файлов и сетевые протоколы, порядок произволен. Некоторые форматы любят указывать большие или мало-endian, другие любят быть гибкими и принимают любую форму с флагом, указывающим, что используется.

Похоже, что файлы WAV похожи на little-endian.