
Порядок байтов: Big-endian и Little-endian
Порядок байтов (byte order) — это то, как компьютер хранит многобайтовые числа в памяти. Различают два основных подхода:
Little-endian (младший байт первым)
Младший значащий байт хранится по меньшему адресу. Например, число 0x12345678:
Адрес: 0x00 0x01 0x02 0x03
Данные: 0x78 0x56 0x34 0x12
Big-endian (старший байт первым)
Старший значащий байт хранится по меньшему адресу. То же число 0x12345678:
Адрес: 0x00 0x01 0x02 0x03
Данные: 0x12 0x34 0x56 0x78
Где используется
- Little-endian: x86, x86-64, ARM (по умолчанию)
- Big-endian: Старые PowerPC, SPARC, сетевые протоколы, PNG, JPEG
Network byte order
Для сетевого взаимодействия используется стандарт big-endian, называемый network byte order. Это решает проблему совместимости: когда машины с разным порядком байтов обмениваются данными по сети, все используют единый формат.
Почему важно
При работе с двоичными файлами, сетевыми пакетами или межпроцессным взаимодействием игнорирование порядка байтов приведёт к некорректной интерпретации данных. Всегда важно знать, в каком формате хранятся ваши данные.
Этот пост также доступен в Telegram

