Byt endianness
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.