Base64 on positsiooniline numbrisüsteem, mis koosneb 64 prinditavast ASCII (Ameerika standardkood teabevahetuseks) tähemärgist. Süsteemi kasutatakse näiteks binaarfailide esitamiseks meilis. Kõik Base64 variandid kasutavad märke A-Z, a-z ja 0-9, kokku 62 tähemärki, puuduolevad kaks märki asendatakse rakendussüsteemides erinevate tähemärkidega. Iga kolm algbaiti on kodeeritud nelja märgiga.
Base64 ajalugu
Algul sai meili teel saata ainult teksti (RFC 822). Aja jooksul tuli koos tekstiga üle kanda ka heli-, video- ja graafikafaile, rakendusi jne. Tekkis vajadus teisendada binaarfail tekstiks. Base64 lisati tollal olemasolevale UUE kodeeringule (Uuencode), mida kasutatakse spetsifikatsioonis MIME (Multipurpose Internet Mail Extensions) (RFC 2045-2049).
MIME on standard elektrooniliste sõnumite päiste kirjeldamiseks. Selle kasutamine võimaldab saata ühe kirjaga mitu manust, näiteks arhiveeritud ja tekstifaile või HTML-lehti. MIME-teadlik meiliprogramm eraldab vabalt arhiivi tekstifailist, kuvab sõnumi ja analüüsib HTML-silte. Näiteks Outlook Express käivitab automaatselt HTML-lehele manustatud skripte.
Base64 sündis seitsme-, kuue- ja kolmebitiste baitide ajastul. Vanad kodeeringud ei toetanud kaheksabitist standardit, seetõttu läks osa informatsioonist vanast süsteemist uude ülekandmisel kaduma. Sageli langes meiliserver kirjade saatmisel ekstra, kaheksanda biti või ei edastanud videot ja pilte. Selliste probleemide kõrvaldamiseks töötati välja kodeeringud kahendkoodi tekstiks teisendamiseks. Kõige populaarsem ja tõhusam süsteem on Base64, mis on oma lihtsuse tõttu kasutusel kõikjal.
Algoritmi nimega "kodeerimine printimiseks" kirjeldati esmakordselt 1987. aastal, Base64 ilmus 1992. aasta juunis. Selle süsteemi versioonid on Base16, Base32, Base36, Base58, Base85, Base91 ja Base122. Hilisemaid standardeid kasutatakse IT-valdkonnas aktiivselt.
Huvitav fakt
Mõned süsteemid kasutavad URL-ide kodeerimiseks Base58, mis erineb Base64-st selle poolest, et lõplikus tekstis puuduvad märgid, mida inimene võib kahemõtteliselt tajuda. 0 (null), O (ladina suurtäht o), I (ladina suurtäht i), l (väike ladina L) on välistatud. Samuti on välistatud märgid + (pluss) ja / (kaldkriips), mis võivad URL-i kodeerimisel põhjustada aadressi vale tõlgendamise.
Base64 pakub pööratavat ja taastatavat kodeeringut. Teenus tõlgib kaheksabitise kooditabeli märgid tähemärkideks, mis säilivad teabe edastamisel võrkudes ja seadmete vahel.