Base64 è un sistema numerico posizionale con una base di 64 caratteri ASCII (American Standard Code for Information Interchange) stampabili. Il sistema viene utilizzato, ad esempio, per presentare file binari nella posta elettronica. Tutte le varianti Base64 utilizzano i caratteri A-Z, a-z e 0-9, 62 caratteri in totale, i due caratteri mancanti sono sostituiti da caratteri diversi nei sistemi di implementazione. Ogni tre byte originali sono codificati con quattro caratteri.
Cronologia di Base64
All'inizio, solo il testo poteva essere inviato via e-mail (RFC 822). Nel tempo, insieme al testo, è stato necessario trasferire file audio, video e grafici, applicazioni, ecc. Era necessario convertire un file binario in testo. Base64 è stato aggiunto alla codifica UUE (Uuencode) allora esistente, utilizzata nella specifica MIME (Multipurpose Internet Mail Extensions) (RFC 2045-2049).
MIME è uno standard per descrivere le intestazioni nei messaggi elettronici. Il suo utilizzo consente di inviare più allegati in una lettera, ad esempio file archiviati e di testo o pagine HTML. Un programma di posta elettronica compatibile con MIME estrae liberamente l'archivio da un file di testo, visualizza il messaggio e analizza i tag HTML. Ad esempio, Outlook Express esegue automaticamente gli script incorporati in una pagina HTML.
Base64 è nato nell'era dei byte a sette, sei e tre bit. Le vecchie codifiche non supportavano lo standard a otto bit, per questo motivo parte delle informazioni andavano perse quando venivano trasferite dal vecchio sistema a quello nuovo. Spesso, durante l'invio di lettere, il server di posta perdeva un bit in più, ottavo, o non trasmetteva video e immagini. Per eliminare tali problemi, sono state sviluppate codifiche per convertire il codice binario in testo. Il sistema più diffuso ed efficace è Base64, per la sua semplicità viene utilizzato ovunque.
Un algoritmo chiamato "codifica per la stampa" è stato descritto per la prima volta nel 1987, Base64 è apparso nel giugno 1992. Le versioni di questo sistema sono Base16, Base32, Base36, Base58, Base85, Base91 e Base122. Gli standard successivi vengono utilizzati attivamente nel campo IT.
Fatto interessante
Alcuni sistemi utilizzano Base58 per codificare gli URL, che differisce da Base64 per l'assenza di caratteri nel testo finale che possono essere percepiti in modo ambiguo da una persona. Sono esclusi 0 (zero), O (o maiuscola latina), I (i maiuscola latina), l (latina minuscola L). Sono inoltre esclusi i caratteri + (più) e / (barra), che, durante la codifica di un URL, possono portare a un'interpretazione errata dell'indirizzo.
Base64 fornisce una codifica reversibile e recuperabile. Il servizio traduce i caratteri della tabella dei codici a otto bit in caratteri che vengono conservati durante il trasferimento di informazioni nelle reti e tra dispositivi.