DevToys Web Pro iconDevToys Web ProБлог
Оцініть нас:
Спробуйте розширення для браузера:

Змінити порядок байтів

8 bytes (2 words)
Розмір слова

Вхідні дані (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.