Inverti endianness
Input (esadecimale)
Output invertito
Dettagli tecnici
Come funziona lo strumento di inversione dell'endianness
Cosa fa lo strumento
Lo strumento Swap Endianness inverte l'ordine dei byte di un input esadecimale all'interno di una dimensione di parola configurabile (2, 4 o 8 byte). È pensato per convertire tra rappresentazioni little-endian e big-endian di interi a larghezza fissa memorizzati in esadecimale, un'esigenza frequente quando si lavora con formati di file binari, protocolli di rete o strumenti di debug a basso livello che non concordano sull'ordine dei byte.
Casi d’uso comuni per sviluppatori
I reverse engineer normalizzano gli hex dump da x86 o ARM (little-endian) e PowerPC o MIPS (storicamente big-endian) così da poter confrontare i valori tra architetture. Gli ingegneri di rete convertono interi nell'ordine dei byte dell'host in network byte order (sempre big-endian) prima di inserirli nelle catture di pacchetti. Gli sviluppatori embedded eseguono il debug di strutture memorizzate in flash riallineando i byte al formato atteso dai loro strumenti di analisi.
Formati, tipi o varianti dei dati
L'input accetta esadecimale con o senza prefisso `0x` e spaziatura arbitraria. L'output viene reso come byte esadecimali minuscoli separati da spazi per chiarezza. Dimensioni di parola di 2, 4 e 8 byte corrispondono rispettivamente a interi a 16, 32 e 64 bit. Più parole vengono invertite in modo indipendente: con una dimensione di parola di 4 byte, 12345678 9ABCDEF0 diventa 78 56 34 12 seguito da F0 DE BC 9A.
Errori comuni e casi limite
L'input deve essere un numero intero di byte (numero pari di cifre esadecimali) e un numero intero di parole (divisibile per la dimensione di parola configurata in byte). Dimensioni non corrispondenti restituiscono un errore invece di troncare silenziosamente. Il network byte order è sempre big-endian, mentre x86 / ARM usano little-endian: inverti i byte quando leggi o scrivi interi nel formato on-the-wire.
Quando usare questo strumento rispetto al codice
Usa lo strumento nel browser per conversioni una tantum mentre leggi dump binari o fai debug. Nel codice, preferisci `DataView` con flag `littleEndian` espliciti in JavaScript, `byteorder='little'|'big'` in `int.from_bytes` di Python, `binary.LittleEndian.Uint32` in Go o `ntohl` / `htonl` in C: sono più chiari sull'intento ed evitano round-trip in esadecimale.