Converti testo tra UTF-8, Base64 ed esadecimale
Base64 ed esadecimale sono rappresentazioni testuali reversibili di byte. Aiutano a spostare i dati attraverso sistemi che richiedono caratteri stampabili, ma non forniscono segretezza, autenticità o controllo degli accessi.
Il convertitore è adatto al normale testo UTF-8 e alle stringhe codificate che si adattano comodamente alla memoria del browser. Non è un codificatore di file binari in streaming e non deve essere utilizzato per nascondere password, token o record privati.
Il testo diventa byte prima di diventare Base64 o esadecimale
I caratteri necessitano di una codifica come UTF-8. Lo stesso testo visibile rappresentato in una codifica di caratteri diversa può produrre byte diversi e quindi output Base64 ed esadecimali diversi.
I caratteri emoji e non latini utilizzano più byte UTF-8. Conta i byte anziché i caratteri visibili quando un protocollo impone limiti di dimensione.
Base64 scambia binari compatti con testo stampabile
Base64 rappresenta gruppi di byte con un alfabeto di 64 caratteri e riempimento opzionale. È utile in JSON, e-mail, URL di dati e protocolli che non possono trasportare in modo sicuro file binari arbitrari.
La rappresentazione è circa un terzo più grande dell'input binario. Le varianti sicure per URL sostituiscono alcuni caratteri alfabetici e possono omettere il riempimento, quindi un decodificatore deve sapere quale convenzione è prevista.
Hex è semplice e dettagliato
Ogni byte diventa due cifre esadecimali. Ciò rende i confini dei byte facili da ispezionare, ma raddoppia la dimensione rispetto ai byte grezzi.
Prefissi come 0x, spazi, separatori e lettere maiuscole sono convenzioni di presentazione. Conferma cosa accetta la destinazione prima di rimuoverli o aggiungerli.
Il contenuto decodificato rimane non attendibile
La decodifica non rende sicuro un valore. Il risultato potrebbe contenere HTML, uno script, un comando, un URL o un codice binario non valido destinato a sfruttare il parser successivo.
Ispezionare e convalidare i dati decodificati per la loro destinazione. Utilizza la crittografia e i controlli di accesso autenticati quando è richiesta la segretezza o la resistenza alle manomissioni.
Utilizza esempi a livello di byte per diagnosticare le sorprese Unicode
Quando un valore codificato non esegue il andata e ritorno, riduci l'input a un breve esempio che includa un carattere ASCII semplice e un carattere non ASCII come una lettera accentata o un emoji. Codificalo, esamina i byte UTF-8 in formato esadecimale, quindi confronta tali byte con il sistema che ha prodotto l'altro valore. Ciò rivela se un lato ha utilizzato UTF-8, UTF-16, una tabella codici legacy o dati binari non elaborati. Controlla separatamente il riempimento Base64 e le sostituzioni alfabetiche sicure per URL. Non dare mai per scontato che i byte decodificati siano testo innocuo: salvali o eseguili solo quando la fonte è attendibile e il tipo di file previsto è compreso.
Avvio rapido: LocalUtils
- Identificare se l'origine è testo semplice UTF-8, Base64 o esadecimale prima di scegliere una direzione.
- Incolla un piccolo campione noto e convertilo una volta.
- Invertire la conversione e confrontare il testo o i byte recuperati con l'originale.
- Quando si utilizza il risultato in un altro sistema, verificare l'alfabeto, il riempimento, la codifica dei byte e le aspettative per le interruzioni di riga o i prefissi.
Cosa fa il browser
Il browser converte il testo in byte UTF-8 e rappresenta tali byte come Base64 o esadecimale. Le operazioni di decodifica invertono la rappresentazione e interpretano i byte recuperati come testo.
Non è coinvolta alcuna chiave di crittografia. Chiunque abbia il valore codificato può normalmente decodificarlo. Il testo rimane nel percorso dell'utilità del browser ma può rimanere nella cronologia degli appunti o nello stato del modulo gestito dal browser dopo l'uso.
Ingressi e uscite
- L'input e l'output del testo utilizzano le aspettative UTF-8.
- Base64 utilizza l'alfabeto standard e può includere il riempimento del segno di uguale.
- L'esadecimale richiede coppie di cifre esadecimali valide che rappresentano i byte.
Limiti da sapere prima di iniziare
- I dati binari arbitrari potrebbero non essere decodificati in testo UTF-8 significativo.
- Le varianti Base64 sicure per URL possono utilizzare caratteri e regole di riempimento diversi.
- I caratteri di lunghezza dispari o non esadecimali rendono il formato esadecimale non valido.
- Valori di grandi dimensioni si espandono in Base64 o esadecimale e possono rendere inefficiente il flusso di lavoro dell'area di testo.
Lista di controllo per la verifica
- Andata e ritorno di un campione noto attraverso la codifica e la decodifica.
- Confronta la lunghezza dei byte e i caratteri esatti, inclusi gli spazi bianchi.
- Tratta ogni valore decodificato come input non attendibile prima di inserirlo in HTML, un comando o un programma.
Risoluzione dei problemi
- Se la decodifica Base64 fallisce, rimuovi le etichette circostanti e controlla se la fonte utilizza un alfabeto sicuro per l'URL.
- Se il testo è confuso, conferma la codifica byte originale anziché assumere UTF-8.
- Se l'esadecimale fallisce, rimuovere spazi o prefissi solo quando il formato di destinazione non li richiede e confermare un conteggio pari delle cifre.
Domande che le persone fanno
Qualcuno può decodificare Base64 senza autorizzazione?
Sì. Non è richiesto alcun segreto e gli strumenti ampiamente disponibili possono invertire la situazione immediatamente.
Perché il testo decodificato sembra danneggiato?
I byte recuperati possono utilizzare un'altra codifica di testo o possono essere binari arbitrari anziché testo.
Quando dovrei usare invece Hex?
Hex è utile per l'ispezione a livello di byte, digest, campi di protocollo e valori binari brevi in cui la leggibilità conta più delle dimensioni.
