Cos'è la Codifica Base64?
La codifica Base64 è ovunque nello sviluppo web. Questa guida spiega come funziona e quando usarla efficacemente.
Perché Base64 Esiste
Molti sistemi gestiscono solo testo in modo sicuro. I dati binari possono contenere caratteri che interrompono questi sistemi. Immagina di inviare un'immagine attraverso un sistema email progettato per testo degli anni '70—certi valori di byte sarebbero interpretati come caratteri di controllo, corrompendo la trasmissione. Base64 converte i dati binari in testo sicuro usando solo 64 caratteri garantiti per sopravvivere alla trasmissione. Questi caratteri sono stati scelti perché esistono in ogni set di caratteri, sistema email, URL e database. I 64 caratteri sono A-Z, a-z, 0-9, + e /. Il carattere = serve per il padding. Questa sicurezza costa un aumento delle dimensioni del 33%. Quando vedi una lunga stringa di lettere e numeri che termina con caratteri =, probabilmente stai guardando Base64. Il pattern è inconfondibile: nessuno spazio, nessun carattere speciale tranne forse + e /, e uno o due = alla fine.
I 64 Caratteri
Base64 standard usa: A-Z (26 caratteri, indici 0-25), a-z (26 caratteri, indici 26-51), 0-9 (10 caratteri, indici 52-61), + (indice 62) e / (indice 63), con = per il padding. Questa specifica scelta di caratteri non è arbitraria. Questi 64 caratteri appaiono in ogni sistema di codifica caratteri comune (ASCII, UTF-8, Latin-1) e non causano problemi nella maggior parte dei livelli di trasporto. Base64URL sostituisce + con - e / con _ per sicurezza URL. I + e / di Base64 standard hanno significati speciali negli URL (+ spesso diventa spazio, / separa i segmenti di percorso). Vedi Base64URL nei JWT e parametri URL. Il padding = appare quando la lunghezza dell'input non è multiplo di 3 byte. Un input di 1 byte produce 4 caratteri con padding ==. Un input di 2 byte produce 4 caratteri con padding =. Alcuni sistemi permettono di omettere il padding.
Come Funziona
Base64 divide i dati binari in gruppi di 6 bit, ciascuno mappato a uno dei 64 caratteri. Tre byte (24 bit) diventano quattro caratteri (6 bit ciascuno). Il processo in dettaglio: Prendi i byte di input e concatena la loro rappresentazione binaria. Dividi questa sequenza di bit in chunk di 6 bit. Mappa ogni valore di 6 bit al suo carattere Base64 corrispondente. Aggiungi padding = se necessario. Esempio: "Ci" (ASCII 67, 105) → binario 01000011 01101001 → raggruppato in pezzi da 6 bit: 010000 110110 1001 → (padding dell'ultimo gruppo con zeri) 010000 110110 100100 → valori decimali 16, 54, 36 → caratteri "Q2k" → con un = per padding → "Q2k=" La codifica è deterministica e senza perdita. Lo stesso input produce sempre lo stesso output, e puoi sempre recuperare l'originale. A differenza della compressione o hashing, non c'è perdita di dati—solo una conversione di formato.
Prova lo Strumento
Codificatore/Decodificatore Base64