Zamiana kolejności bajtów
Zamień kolejność bajtów między big-endian a little-endian.
O narzędziu Zamiana kolejności bajtów (Endianness)
Narzędzie Zamiana kolejności bajtów (Endianness) odwraca kolejność bajtów wartości szesnastkowych pomiędzy reprezentacją big-endian (sieciowa kolejność bajtów, używana przez PowerPC i SPARC) a little-endian (używaną przez x86/x64 oraz ARM w trybie domyślnym) dla słów o rozmiarze 16-, 32- i 64-bitowym. Niezgodności kolejności bajtów to nieustanne źródło subtelnych błędów podczas parsowania binarnych formatów plików, ramek protokołów sieciowych lub rejestrów sprzętowych mapowanych w pamięci na różnych architekturach. To narzędzie zapewnia natychmiastowy, wolny od błędów sposób ręcznej zamiany bajtów bez pisania jednorazowych skryptów konwersji.
Jak używać
Wprowadź wartość szesnastkową w polu wejściowym — z prefiksem 0x lub bez niego — i wybierz rozmiar słowa (16-, 32- lub 64-bitowy) odpowiadający Twoim danym. Kliknij Zamień, aby odwrócić kolejność bajtów; wynik jest wyświetlany w postaci szesnastkowej wraz z interpretacją dziesiętną zarówno dla wartości pierwotnej, jak i zamienionej. Aby przeprowadzić wsadową konwersję wielu wartości, wprowadź jedną wartość szesnastkową w wierszu, a wszystkie wartości zostaną zamienione jednocześnie.
Typowe przypadki użycia
- Programiści systemów wbudowanych konwertujący wartości rejestrów i pola protokołów pomiędzy sieciową kolejnością bajtów (big-endian) a kolejnością bajtów hosta (little-endian x86) podczas implementacji stosów TCP/IP lub parsowania binarnych protokołów sieciowych
- Inżynierowie odwrotni analizujący wieloplatformowe binarne formaty plików — ELF, Mach-O, PE — w których wielobajtowe pola 32- i 64-bitowe muszą być interpretowane z poprawną kolejnością bajtów dla docelowej architektury
- Programiści firmware'u debugujący błędy kolejności bajtów (endianness) w niestandardowych parserach protokołów SPI, I2C lub magistrali CAN poprzez ręczne zamienianie bajtów pól w celu weryfikacji poprawnej interpretacji odczytów rejestrów czujników
- Gracze CTF i badacze bezpieczeństwa korygujący kolejność bajtów w artefaktach zrzutów pamięci lub przechwyconych pakietach, gdzie oczekiwane wartości całkowite pojawiają się z zamienionymi bajtami z powodu różnic architektury
- Programiści systemowi weryfikujący logikę zamiany bajtów htonl i ntohl w kodzie sieciowym C/C++ poprzez porównywanie ręcznie zamienionych wartości szesnastkowych z oczekiwanym wynikiem w kolejności sieciowej