DevToys Web Pro iconDevToys Web ProBlog
Bedøm os:
Prøv browserudvidelsen:

Byt endianness

8 bytes (2 words)
Ord størrelse

Input (hex)

  • Ombyttet output

  • Tekniske detaljer

    Sådan fungerer værktøjet til at bytte endianness

    Hvad værktøjet gør

    Værktøjet Byt endianness vender byte-rækkefølgen i et hexadecimalt input inden for en konfigurerbar ordstørrelse (2, 4 eller 8 bytes). Det er beregnet til at konvertere mellem little-endian- og big-endian-repræsentationer af heltal med fast bredde gemt som hex, hvilket ofte er nødvendigt, når man arbejder med binære filformater, netværksprotokoller eller low-level debuggingværktøjer, der er uenige om byte-rækkefølge.

    Almindelige anvendelsestilfælde for udviklere

    Reverse engineers normaliserer hex dumps fra x86 eller ARM (little-endian) og PowerPC eller MIPS (historisk big-endian), så de kan sammenligne værdier på tværs af arkitekturer. Netværksingeniører konverterer heltal i host-byte-order til netværks-byte-order (altid big-endian), før de indlejrer dem i packet captures. Embedded-udviklere debugger strukturer gemt i flash ved at realigne bytes til det format, deres analyseværktøj forventer.

    Dataformater, typer eller varianter

    Input accepterer hex med eller uden `0x`-præfiks og vilkårlig whitespace. Output gengives som mellemrumseparerede hex-bytes med små bogstaver for klarhed. Ordstørrelser på 2, 4 og 8 bytes svarer til henholdsvis 16-, 32- og 64-bit heltal. Flere ord byttes uafhængigt: med en ordstørrelse på 4 bytes bliver 12345678 9ABCDEF0 til 78 56 34 12 efterfulgt af F0 DE BC 9A.

    Almindelige faldgruber og kanttilfælde

    Inputtet skal være et helt antal bytes (lige antal hex-cifre) og et helt antal ord (deleligt med den konfigurerede ordstørrelse i bytes). Uoverensstemmende størrelser giver en fejl i stedet for at blive trunkeret i stilhed. Netværks-byte-order er altid big-endian, mens x86 / ARM bruger little-endian — byt bytes, når du læser eller skriver heltal i wire-format.

    Hvornår du skal bruge dette værktøj vs. kode

    Brug browserværktøjet til engangskonverteringer, mens du læser binære dumps eller debugger. I kode bør du foretrække `DataView` med eksplicitte `littleEndian`-flag i JavaScript, `byteorder='little'|'big'` i Pythons `int.from_bytes`, `binary.LittleEndian.Uint32` i Go eller `ntohl` / `htonl` i C — de er tydeligere om hensigten og undgår hex round-trips.