Rilevatore di codifica

Non sai se una stringa è Base64, esadecimale, Base58 o qualcos’altro? Incollala qui. Il rilevatore prova tutti i decodificatori, ordina i risultati validi e mostra un’anteprima dei dati decodificati.

Funziona interamente nel tuo browser. Non viene caricato nulla.

Come si usa

  1. Incolla la stringa sconosciuta nel campo di input.
  2. Il rilevatore esegue tutti i decodificatori ed elenca le codifiche che decodificano la stringa senza errori, a partire dalla più probabile.
  3. Per ogni candidata, controlla l’anteprima del testo o dei byte decodificati e il tipo di file rilevato.
  4. Una volta individuata la codifica, apri la pagina dello strumento corrispondente per decodificare, convertire o scaricare i dati.

Come decide il rilevatore

Ogni codifica ha regole che una stringa rispetta oppure viola. Il rilevatore esegue ciascun decodificatore sul tuo input. Un decodificatore che incontra un carattere estraneo al proprio alfabeto, una lunghezza impossibile o un padding fuori posto viene escluso, e gli altri vengono ordinati in base a quanto il loro output sembra plausibile.

  • Set di caratteri. L’esadecimale usa solo 0-9 e a-f. Base58 non contiene mai 0, O, I o l. Un + o un / fa pensare a Base64, mentre - e _ fanno pensare a Base64URL.
  • Lunghezza e padding. L’esadecimale richiede un numero pari di cifre. Base64 lavora a gruppi di 4 caratteri e Base32 a gruppi di 8, e il loro padding = può comparire solo alla fine.
  • Output leggibile. Una candidata che si decodifica in UTF-8 valido composto da caratteri stampabili ha molte più probabilità di essere corretta di una che produce byte dall’aspetto casuale.
  • Firme dei file. I byte decodificati che iniziano con un magic number noto, come l’intestazione di PNG, JPEG, PDF, ZIP o gzip, vengono segnalati insieme al tipo di file.

I decodificatori corrispondenti riconoscono anche gli involucri, come un prefisso URI data:, i delimitatori Adobe <~ ~> o le righe begin di uuencode. Tutto questo avviene nel tuo browser.

Perché il risultato è una classifica e non una certezza

Gli alfabeti si sovrappongono molto. La stringa 48656c6c6f è la forma esadecimale di Hello, ma gli stessi dieci caratteri sono validi anche in Base64, Base36, Base58 e Base62, e ognuna di queste codifiche produce byte diversi. Solo la lettura esadecimale dà un testo leggibile, quindi l’esadecimale viene messo al primo posto. Una parola breve come cafe rientra in quasi tutti gli alfabeti, e nulla nella stringa stessa indica quale fosse quello previsto.

Gli input più lunghi danno risposte più chiare, perché le corrispondenze casuali diventano improbabili. Se nessuna candidata si decodifica in testo o in un tipo di file noto, i dati potrebbero essere cifrati, compressi oppure un hash. Un hash SHA-256 scritto in esadecimale è esadecimale perfettamente valido, ma i suoi byte sembrano casuali per costruzione.

Riconoscere a occhio le codifiche più comuni

CodificaIndizi tipici
EsadecimaleSolo 0-9 a-f, lunghezza pari. 32, 40 o 64 cifre indicano spesso un hash MD5, SHA-1 o SHA-256.
Base64A-Z a-z 0-9 + /, lunghezza multipla di 4, può terminare con = o ==.
Base64URL- e _ al posto di + e /, di solito senza padding. Tre parti unite da punti formano un JWT.
Base32A-Z maiuscole e 2-7, con padding = fino a un multiplo di 8.
Base58Lettere e cifre senza 0 O I l. Indirizzi Bitcoin, hash IPFS che iniziano con Qm.
Ascii85, Base85Un insieme fitto di lettere, cifre e segni di punteggiatura. Ascii85 è talvolta racchiuso tra <~ ~>.

Domande frequenti

Come faccio a capire se una stringa è Base64?
Cerca i caratteri A-Z, a-z, 0-9, + e /, una lunghezza multipla di 4 e al massimo due segni = alla fine. Incollala qui per vedere se si decodifica in testo leggibile o in un tipo di file noto. Per un controllo rigoroso con la posizione esatta degli errori, usa il validatore Base64.
Perché il rilevatore mostra più di una codifica?

Molte stringhe sono valide in più alfabeti contemporaneamente, soprattutto quelle brevi. Il rilevatore elenca tutte le codifiche che decodificano l’input senza errori e mette per prima la più plausibile, in base al testo leggibile e alle firme dei file.

Nessun risultato è un testo leggibile. Che cosa significa?
I dati potrebbero essere binari, come un’immagine o un file compresso, e in questo caso il tipo di file rilevato ti aiuta. Potrebbero anche essere dati cifrati, un hash oppure byte scritti con un alfabeto non standard. Nell’ultimo caso, prova lo strumento alfabeto personalizzato.
Il rilevatore può decifrare una stringa o invertire un hash?

No. Codifiche come Base64 non usano chiavi e sono reversibili per costruzione, ed è per questo che si possono rilevare e decodificare. I dati cifrati non si possono leggere senza la chiave, e un hash non può essere riportato al suo input.

La stringa incollata viene inviata a un server?

No. Ogni decodificatore viene eseguito localmente nel tuo browser, quindi token, chiavi e dati di log non lasciano mai il tuo dispositivo.