DevToys Web Pro iconDevToys Web ProБлог
Оценете ни:
Изпробвайте разширението за браузър:

Смяна на ендианност

8 bytes (2 words)
Размер на думата

Вход (hex)

  • Изход с разменени байтове

  • Технически подробности

    Как работи инструментът за обръщане на endianness

    Какво прави инструментът

    Инструментът Swap Endianness обръща реда на байтовете на шестнадесетичен вход в рамките на конфигурируем размер на дума (2, 4 или 8 байта). Той е предназначен за преобразуване между little-endian и big-endian представяния на целочислени стойности с фиксирана ширина, записани като hex — честа нужда при работа с двоични файлови формати, мрежови протоколи или нискониво инструменти за дебъг, които не са съгласни за реда на байтовете.

    Често срещани случаи на употреба от разработчици

    Reverse инженери нормализират hex dump-ове от x86 или ARM (little-endian) и PowerPC или MIPS (исторически big-endian), за да могат да сравняват стойности между архитектури. Мрежови инженери преобразуват цели числа в host byte order към network byte order (винаги big-endian), преди да ги вградят в packet capture-и. Embedded разработчици дебъгват структури, записани във flash, като пренареждат байтовете към формата, очакван от техните инструменти за анализ.

    Формати на данни, типове или варианти

    Входът приема hex със или без префикс `0x` и произволни интервали. Изходът се визуализира като разделени с интервали малки шестнадесетични байтове за яснота. Размери на думата 2, 4 и 8 байта съответстват на 16-, 32- и 64-битови цели числа. Множество думи се обръщат независимо: при размер на дума 4 байта, 12345678 9ABCDEF0 става 78 56 34 12, последвано от F0 DE BC 9A.

    Често срещани капани и гранични случаи

    Входът трябва да е цял брой байтове (четен брой hex цифри) и цял брой думи (делим на конфигурирания размер на думата в байтове). Несъответстващите размери връщат грешка, вместо да се отрязва мълчаливо. Network byte order винаги е big-endian, докато x86 / ARM използват little-endian — разменяйте байтовете при четене или запис на цели числа във wire format.

    Кога да използвате този инструмент вместо код

    Използвайте браузърния инструмент за еднократни преобразувания при четене на бинарни dump-ове или дебъг. В код предпочитайте `DataView` с изрични флагове `littleEndian` в JavaScript, `byteorder='little'|'big'` в `int.from_bytes` на Python, `binary.LittleEndian.Uint32` в Go или `ntohl` / `htonl` в C — те са по-ясни по отношение на намерението и избягват hex round-trip-ове.