Змінити порядок байтів
Вхідні дані (hex)
Результат зі переставленими байтами
Технічні деталі
Як працює інструмент Swap Endianness
Що робить інструмент
Інструмент Swap Endianness змінює порядок байтів у шістнадцятковому введенні в межах налаштовуваного розміру слова (2, 4 або 8 байтів). Він призначений для перетворення між представленнями little-endian і big-endian для цілих чисел фіксованої ширини, збережених у hex, що часто потрібно під час роботи з двійковими форматами файлів, мережевими протоколами або низькорівневими інструментами налагодження, які не узгоджуються щодо порядку байтів.
Поширені сценарії використання для розробників
Реверс-інженери нормалізують hex-дампи з x86 або ARM (little-endian) та PowerPC або MIPS (історично big-endian), щоб порівнювати значення між архітектурами. Мережеві інженери перетворюють цілі числа з порядку байтів хоста в мережевий порядок байтів (завжди big-endian) перед вбудовуванням у дампи пакетів. Embedded-розробники налагоджують структури, збережені у флеш-пам’яті, вирівнюючи байти під формат, який очікують їхні інструменти аналізу.
Формати даних, типи або варіанти
Ввід приймає hex із префіксом `0x` або без нього та довільні пробіли. Вивід для наочності відображається як байти hex у нижньому регістрі, розділені пробілами. Розміри слова 2, 4 і 8 байтів відповідають 16-, 32- і 64-бітним цілим числам відповідно. Кілька слів міняються місцями незалежно: за розміру слова 4 байти, 12345678 9ABCDEF0 перетворюється на 78 56 34 12, а потім на F0 DE BC 9A.
Поширені помилки та крайові випадки
Ввід має містити цілу кількість байтів (парну кількість шістнадцяткових цифр) і цілу кількість слів (кратну налаштованому розміру слова в байтах). Невідповідні розміри повертають помилку замість мовчазного обрізання. Мережевий порядок байтів завжди big-endian, тоді як x86 / ARM використовують little-endian — міняйте байти місцями під час читання або запису цілих чисел у wire-format.
Коли використовувати цей інструмент, а коли — код
Використовуйте браузерний інструмент для разових перетворень під час читання двійкових дампів або налагодження. У коді надавайте перевагу `DataView` з явними прапорцями `littleEndian` у JavaScript, `byteorder='little'|'big'` у Python для `int.from_bytes`, `binary.LittleEndian.Uint32` у Go або `ntohl` / `htonl` у C — вони чіткіше передають намір і уникають перетворень через hex.