Описание тега endianness
Порядок байтов - это организация и порядок байтовых значений в многобайтовых словах. Существует две основные формы обратного порядка байтов: прямой и прямой.
Big endian (BE) означает, что старшие биты сохраняются первыми (младший адрес). Это похоже на чтение или произнесение имени десятичного числа в порядке чтения.
Little endian (LE) означает, что младшие биты сохраняются первыми. Байты хранятся в обратном формате с прямым порядком байтов.
Существуют и другие формы порядка байтов, но они встречаются редко. Их также можно назвать смешанным порядком байтов.
Использование порядка байтов
Когда мы говорим о порядке байтов, мы часто имеем в виду порядок байтов в архитектуре команд / ЦП или порядок байтов файла. Порядок байтов в архитектуре или ЦП - это то, как процессор организует биты в многобайтовом слове.
- Motorola 68000 - это архитектура с прямым порядком байтов. Он хранит многобайтовые слова в обратном порядке.
- Процессоры Intel и архитектура x86 имеют прямой порядок байтов.
- MIPS может работать как в прямом, так и в обратном порядке, и вы можете выбрать порядок байтов. MIPS - это формат с обратным порядком байтов.
Порядок байтов файла указывает, как байты многобайтового слова упорядочены в данном файле (применимо как к двоичным, так и к текстовым файлам). Иногда мы указываем порядок байтов файла, помещая отметку порядка байтов (BOM) в качестве первого байта этого файла.
- Текстовый файл UTF-16 с прямым порядком байтов и спецификацией будет начинаться с двух байтов.
FE FF
и все двухбайтовые символы (каждый суррогат в суррогатной паре также является одним символом) должны быть выражены с прямым порядком байтов. - Текстовый файл UTF-16 с прямым порядком байтов и спецификацией будет начинаться с двух байтов.
FF FE
и все двухбайтовые символы должны быть выражены прямым порядком байтов.
Примеры порядка байтов
32-битное значение int со знаком, 12356789, хранится в виде четырех байтов в формате дополнения до двух.
- При обратном порядке байтов значение сохраняется как
07 5B CD 15
в шестнадцатеричной системе счисления. - При обратном порядке байтов значение сохраняется как
15 CD 58 07
в шестнадцатеричной системе счисления.
Текстовый файл UTF-16 со спецификацией содержит следующие символы: A 汉
.
- Символ спецификации имеет значение
U+FEFF
. Смайлик имеет значение UnicodeU+1F197
выражается двумя суррогатными парами,U+D83C U+DD97
- При обратном порядке байтов символы сохраняются как
FEFF 0041 0020 6C49 D83C DD97
- При обратном порядке байтов они хранятся как
FFFE 4100 2000 496C 3CD8 97DD
Подробнее
Связанные теги:
- CPU-архитектура, компьютерная архитектура, файл, байты
- unicode, utf-16, byte-order-mark: кодировки символов, которые могут зависеть от порядка байтов.
Внешняя ссылка: