Vai al contenuto
TextArray
100% locale

Esadecimale al testo e viceversa

Converti il testo in esadecimale e di nuovo esadecimale in testo, byte per byte in UTF-8.

Ingresso

Esadecimale al testo e viceversa

L'esadecimale è il modo in cui vengono scritti i byte quando gli esseri umani hanno bisogno di leggerli: due cifre per byte, da 00 a ss. Incolla il testo per vedere gli esatti byte UTF-8 dietro di esso oppure incolla un dump esadecimale da un registro, un'acquisizione di pacchetti o un debugger e rileggi il messaggio. Il selettore della modalità cambia direzione e il risultato si aggiorna durante la digitazione.

L'opzione separatore decide la forma dell'output. Le coppie separate da spazi sono il classico formato di dump e il più semplice da scansionare a occhio. L'esadecimale non separato è l'aspetto dei checksum, dei valori dei colori e delle colonne BLOB del database. Il prefisso 0x si adatta ai byte letterali C, Go e Rust; il prefisso \\x corrisponde agli oggetti byte Python e agli escape della shell. Le cifre maiuscole sono disponibili per molti formati che prevedono A-F anziché a-f.

La lettura dell'esadecimale è deliberatamente tollerante, perché l'esadecimale reale arriva in modo disordinato. Spazi, tabulazioni e interruzioni di riga vengono ignorati, i prefissi 0x e \\x vengono rimossi ovunque appaiano e le lettere maiuscole e minuscole si mescolano liberamente, quindi un copia-incolla da uno stack trace di solito funziona. Due cose vengono riportate invece di essere indovinate: un numero dispari di cifre, il che significa che una cifra è scomparsa, e i caratteri esterni a 0-9 a-f. I byte che non sono UTF-8 validi vengono decodificati nel carattere sostitutivo, quindi puoi ancora vedere dove si è interrotta una sequenza.

Tutto viene eseguito nel tuo browser utilizzando il codificatore UTF-8 integrato. Non viene caricato nulla, il che conta quando l'esagono che stai controllando proviene da un payload, un token o un file privato. Il conteggio sotto l'output mostra i caratteri rispetto ai byte, quindi i caratteri multibyte sono facili da individuare: un emoji costa quattro byte, una lettera accentata due.

FAQ

Perché il mio esadecimale è più lungo del mio testo?
Ogni byte richiede due cifre esadecimali e il testo è codificato come UTF-8, dove ASCII è un byte per carattere, le lettere accentate ne richiedono due e le emoji ne richiedono quattro. Una parola di 5 caratteri può facilmente contenere 8 byte e 16 cifre.
Quali formati esadecimali può leggere?
Tutti quelli che scrive, e la maggior parte degli altri: coppie spaziate, stringhe ininterrotte, byte con prefisso 0x e byte con prefisso \x, maiuscole o minuscole, distribuite su tutte le righe che desideri. Gli spazi bianchi e i prefissi vengono rimossi prima della decodifica.
Perché ricevo un errore con numero dispari di cifre?
Un byte è sempre composto da due cifre, quindi un conteggio dispari significa che uno è stato perso, solitamente in una copia troncata. Controlla l'inizio e la fine della stringa. Le virgole e altri segni di punteggiatura non sono accettati come separatori: rimuovili o distanzia i byte.
Quali sono i caratteri del diamante nero nel testo decodificato?
Questo è U+FFFD, mostrato ovunque i byte non siano UTF-8 validi, in genere perché l'esadecimale proviene da dati binari o da testo in un'altra codifica, come Windows-1250.
Il mio testo è caricato da qualche parte?
No. La conversione viene eseguita interamente nel tuo browser e il tuo testo non lascia mai il tuo dispositivo.