DevToys Web Pro iconDevToys Web ProBlog
Evaluează-ne:
Încearcă extensia de browser:

Inversează endianness

8 bytes (2 words)
Dimensiunea cuvântului

Intrare (hex)

  • Ieșire inversată

  • Detalii tehnice

    Cum funcționează instrumentul de inversare a endianness-ului

    Ce face instrumentul

    Instrumentul Swap Endianness inversează ordinea octeților ai unei intrări hexazecimale în cadrul unei dimensiuni de cuvânt configurabile (2, 4 sau 8 octeți). Este destinat conversiei între reprezentări little-endian și big-endian ale întregilor cu lățime fixă stocați ca hex, o nevoie frecventă când lucrezi cu formate de fișiere binare, protocoale de rețea sau unelte de depanare low-level care nu sunt de acord asupra ordinii octeților.

    Cazuri de utilizare comune pentru dezvoltatori

    Inginerii de reverse engineering normalizează dump-urile hex din x86 sau ARM (little-endian) și PowerPC sau MIPS (istoric big-endian) ca să poată compara valori între arhitecturi. Inginerii de rețea convertesc întregi din ordinea octeților a gazdei în ordinea octeților de rețea (întotdeauna big-endian) înainte de a-i încorpora în capturi de pachete. Dezvoltatorii embedded depanează structuri stocate în flash realiniind octeții la formatul așteptat de uneltele lor de analiză.

    Formate de date, tipuri sau variante

    Intrarea acceptă hex cu sau fără prefix `0x` și spații albe arbitrare. Ieșirea este redată ca octeți hex cu litere mici separați prin spații, pentru claritate. Dimensiunile de cuvânt de 2, 4 și 8 octeți corespund întregilor pe 16, 32 și 64 de biți. Mai multe cuvinte sunt inversate independent: cu o dimensiune de cuvânt de 4 octeți, 12345678 9ABCDEF0 devine 78 56 34 12 urmat de F0 DE BC 9A.

    Capcane frecvente și cazuri limită

    Intrarea trebuie să fie un număr întreg de octeți (număr par de cifre hex) și un număr întreg de cuvinte (divizibil cu dimensiunea de cuvânt configurată în octeți). Dimensiunile nepotrivite returnează o eroare în loc să trunchieze în tăcere. Ordinea octeților de rețea este întotdeauna big-endian, în timp ce x86 / ARM folosesc little-endian — inversează octeții când citești sau scrii întregi în format wire.

    Când să folosești acest instrument vs cod

    Folosește instrumentul din browser pentru conversii punctuale în timp ce citești dump-uri binare sau depanezi. În cod, preferă `DataView` cu flag-uri `littleEndian` explicite în JavaScript, `byteorder='little'|'big'` în `int.from_bytes` din Python, `binary.LittleEndian.Uint32` în Go sau `ntohl` / `htonl` în C — acestea sunt mai clare ca intenție și evită round-trip-uri prin hex.