DevToys Web Pro iconDevToys Web ProBlogg
Betygsätt oss:
Prova webbläsartillägget:

Byt endianness

8 bytes (2 words)
Ordstorlek

Inmatning (hex)

  • Ombytt utdata

  • Tekniska detaljer

    Så fungerar verktyget för att byta endianness

    Vad verktyget gör

    Verktyget Byt endianness vänder på byteordningen i en hexadecimalt indata inom en konfigurerbar ordstorlek (2, 4 eller 8 byte). Det är avsett för konvertering mellan little-endian- och big-endian-representationer av heltal med fast bredd lagrade som hex, vilket ofta behövs när man arbetar med binära filformat, nätverksprotokoll eller lågnivåverktyg för felsökning som inte är överens om byteordning.

    Vanliga användningsfall för utvecklare

    Reverse engineers normaliserar hex-dumpar från x86 eller ARM (little-endian) och PowerPC eller MIPS (historiskt big-endian) så att de kan jämföra värden mellan arkitekturer. Nätverksingenjörer konverterar heltal i värdens byteordning till nätverksbyteordning (alltid big-endian) innan de bäddar in dem i paketfångster. Inbyggda utvecklare felsöker strukturer lagrade i flash genom att justera om bytes till det format som deras analysverktyg förväntar sig.

    Dataformat, typer eller varianter

    Indata accepterar hex med eller utan `0x`-prefix och godtycklig whitespace. Utdata renderas som mellanslagsseparerade hex-bytes i gemener för tydlighet. Ordstorlekar på 2, 4 och 8 byte motsvarar 16-, 32- respektive 64-bitars heltal. Flera ord byts oberoende: med en ordstorlek på 4 byte blir 12345678 9ABCDEF0 till 78 56 34 12 följt av F0 DE BC 9A.

    Vanliga fallgropar och specialfall

    Indata måste vara ett helt antal bytes (jämnt antal hexsiffror) och ett helt antal ord (delbart med den konfigurerade ordstorleken i bytes). Storleksavvikelser ger ett fel i stället för att tyst trunkera. Nätverksbyteordning är alltid big-endian, medan x86 / ARM använder little-endian — byt bytes när du läser eller skriver heltal i wire-format.

    När du ska använda det här verktyget jämfört med kod

    Använd webbläsarverktyget för engångskonverteringar när du läser binära dumpar eller felsöker. I kod bör du föredra `DataView` med explicita `littleEndian`-flaggor i JavaScript, `byteorder='little'|'big'` i Pythons `int.from_bytes`, `binary.LittleEndian.Uint32` i Go eller `ntohl` / `htonl` i C — dessa är tydligare med avsikten och undviker hex-rundtripper.