DevToys Web Pro iconDevToys Web ProBlog
Ohodnoťte nás:
Vyzkoušejte rozšíření pro prohlížeč:

Prohodit endianness

8 bytes (2 words)
Velikost slova

Vstup (hex)

  • Prohozený výstup

  • Technické detaily

    Jak funguje nástroj pro prohození endianness

    Co nástroj dělá

    Nástroj Swap Endianness obrací pořadí bajtů v hexadecimálním vstupu v rámci konfigurovatelné velikosti slova (2, 4 nebo 8 bajtů). Je určen pro převod mezi little-endian a big-endian reprezentacemi celočísel s pevnou šířkou uložených jako hex, což je častá potřeba při práci s binárními formáty souborů, síťovými protokoly nebo low-level ladicími nástroji, které se neshodují na pořadí bajtů.

    Běžné případy použití pro vývojáře

    Reverse inženýři normalizují hex dumpy z x86 nebo ARM (little-endian) a PowerPC nebo MIPS (historicky big-endian), aby mohli porovnávat hodnoty napříč architekturami. Síťoví inženýři převádějí celá čísla v host-byte-order na network byte order (vždy big-endian) před jejich vložením do záznamů paketů. Embedded vývojáři ladí struktury uložené ve flash paměti tím, že znovu zarovnají bajty do formátu očekávaného jejich analytickými nástroji.

    Datové formáty, typy nebo varianty

    Vstup přijímá hex s prefixem `0x` i bez něj a libovolné bílé znaky. Výstup se pro přehlednost vykresluje jako malá písmena hex bajtů oddělených mezerami. Velikosti slov 2, 4 a 8 bajtů odpovídají 16-, 32- a 64bitovým celým číslům. Více slov se prohazuje nezávisle: při velikosti slova 4 bajty se 12345678 9ABCDEF0 změní na 78 56 34 12 a poté F0 DE BC 9A.

    Běžné nástrahy a okrajové případy

    Vstup musí obsahovat celý počet bajtů (sudý počet hex číslic) a celý počet slov (dělitelný nastavenou velikostí slova v bajtech). Nesoulad velikostí vrátí chybu místo tichého oříznutí. Network byte order je vždy big-endian, zatímco x86 / ARM používají little-endian — prohoďte bajty při čtení nebo zápisu celočísel ve wire formátu.

    Kdy použít tento nástroj vs. kód

    Použijte nástroj v prohlížeči pro jednorázové převody při čtení binárních dumpů nebo ladění. V kódu upřednostněte `DataView` s explicitními příznaky `littleEndian` v JavaScriptu, `byteorder='little'|'big'` v Pythoním `int.from_bytes`, `binary.LittleEndian.Uint32` v Go nebo `ntohl` / `htonl` v C — jsou jasnější ohledně záměru a vyhnou se hex round-tripům.