Base64 on paikkalukujärjestelmä, jossa on 64 tulostettavaa ASCII-merkkiä (American Standard Code for Information Interchange). Järjestelmää käytetään esimerkiksi binääritiedostojen esittämiseen sähköpostissa. Kaikki Base64-versiot käyttävät merkkejä A-Z, a-z ja 0-9, yhteensä 62 merkkiä, puuttuvat kaksi merkkiä korvataan eri merkeillä toteutusjärjestelmissä. Jokainen kolme alkuperäistä tavua on koodattu neljällä merkillä.
Base64:n historia
Aluksi vain tekstiä voitiin lähettää sähköpostitse (RFC 822). Ajan myötä tekstin ohella oli tarpeen siirtää ääni-, video- ja grafiikkatiedostoja, sovelluksia jne. Binääritiedosto oli muutettava tekstiksi. Base64 lisättiin tuolloin olemassa olevaan UUE-koodaukseen (Uuencode), jota käytetään MIME (Multipurpose Internet Mail Extensions) -määrittelyssä (RFC 2045-2049).
MIME on standardi sähköisten viestien otsikoiden kuvaamiseen. Sen avulla voit lähettää useita liitteitä yhdessä kirjeessä, esimerkiksi arkistoituja ja tekstitiedostoja tai HTML-sivuja. MIME-tietoinen sähköpostiohjelma purkaa vapaasti arkiston tekstitiedostosta, näyttää viestin ja jäsentää HTML-tunnisteet. Esimerkiksi Outlook Express suorittaa automaattisesti HTML-sivulle upotettuja komentosarjoja.
Base64 syntyi seitsemän, kuuden ja kolmen bitin tavujen aikakaudella. Vanhat koodaukset eivät tukeneet kahdeksanbittistä standardia, minkä vuoksi osa tiedoista katosi siirrettäessä vanhasta järjestelmästä uuteen. Usein kirjeitä lähetettäessä postipalvelin pudotti ylimääräisen, kahdeksannen, bitin tai ei lähettänyt videota ja kuvia. Tällaisten ongelmien poistamiseksi kehitettiin koodauksia binäärikoodin muuntamiseksi tekstiksi. Suosituin ja tehokkain järjestelmä on Base64, yksinkertaisuuden vuoksi sitä käytetään kaikkialla.
Algoritmi nimeltä "koodaus tulostusta varten" kuvattiin ensimmäisen kerran vuonna 1987, ja Base64 ilmestyi kesäkuussa 1992. Tämän järjestelmän versiot ovat Base16, Base32, Base36, Base58, Base85, Base91 ja Base122. Myöhempiä standardeja käytetään aktiivisesti IT-alalla.
Mielenkiintoinen tosiasia
Jotkin järjestelmät käyttävät Base58:aa URL-osoitteiden koodaamiseen, mikä eroaa Base64:stä siten, että lopullisessa tekstissä ei ole merkkejä, jotka henkilö voi ymmärtää epäselvästi. 0 (nolla), O (latinalainen iso kirjain o), I (latinalainen iso kirjain i), l (pieni latinalainen L) jätetään pois. Myös + (plus) ja / (vinoviiva) -merkit eivät sisälly, jotka URL-osoitetta koodattaessa voivat johtaa osoitteen virheelliseen tulkintaan.
Base64 tarjoaa palautuvan ja palautettavan koodauksen. Palvelu kääntää kahdeksanbittisen kooditaulukon merkit merkeiksi, jotka säilyvät tiedonsiirrossa verkoissa ja laitteiden välillä.