Почему OD не правильно упорядочивает байты? - PullRequest
1 голос
/ 09 июня 2011

Вот вывод, выгруженный из od -cx (на linux вы можете воспроизвести с echo -ne "\r\n\n" |od -cx):

0000000  \r  \n  \n  \0
        0a0d 000a
0000003

Правильные первые 2 байта должны быть 0d0a, но выводит 0a0d, почему

Ответы [ 3 ]

4 голосов
/ 09 июня 2011

потому что вы в системе с прямым порядком байтов? 16-разрядное целое число будет старшим байтом, за которым следует младший; в этом случае второй байт, за которым следует первый.

0 голосов
/ 09 июня 2011

Потому что он читает это как шорты, а не как байты.Короткое обращение - 2 байта в обратном порядке.

0 голосов
/ 09 июня 2011

Поскольку ваш компьютер использует так называемый метод "little-endian" для представления слов в памяти (архитектура процессора x86 является типичным примером систем с прямым порядком байтов).

...