Base64 je pozičný číselný systém so základom 64 vytlačiteľných znakov ASCII (American Standard Code for Information Interchange). Systém sa používa napríklad na prezentáciu binárnych súborov v e-mailoch. Všetky varianty Base64 používajú znaky A-Z, a-z a 0-9, spolu 62 znakov, chýbajúce dva znaky sú v implementačných systémoch nahradené odlišnými znakmi. Každé tri pôvodné bajty sú zakódované štyrmi znakmi.
História Base64
Najprv bolo možné posielať e-mailom iba text (RFC 822). Postupom času bolo potrebné spolu s textom preniesť aj audio, video a grafické súbory, aplikácie a pod. Vznikla potreba previesť binárny súbor na text. Base64 bol pridaný k vtedy existujúcemu kódovaniu UUE (Uuencode), ktoré sa používa v špecifikácii MIME (Multipurpose Internet Mail Extensions) (RFC 2045-2049).
MIME je štandard na popis hlavičiek v elektronických správach. Jeho použitie vám umožňuje poslať niekoľko príloh v jednom liste, napríklad archivované a textové súbory alebo HTML stránky. E-mailový program s podporou MIME voľne extrahuje archív z textového súboru, zobrazí správu a analyzuje značky HTML. Napríklad program Outlook Express automaticky spúšťa skripty vložené do stránky HTML.
Base64 sa zrodil v ére sedem-, šesť- a trojbitových bajtov. Staré kódovania nepodporovali osembitový štandard, kvôli tomu sa časť informácií pri prenose zo starého systému do nového stratila. Pri odosielaní listov často poštový server vypustil dodatočný, osminový bit alebo nepreniesol video a obrázky. Na odstránenie takýchto problémov boli vyvinuté kódovania na konverziu binárneho kódu na text. Najpopulárnejším a najefektívnejším systémom je Base64, ktorý sa vďaka svojej jednoduchosti používa všade.
Algoritmus nazývaný „kódovanie pre tlač“ bol prvýkrát opísaný v roku 1987, Base64 sa objavil v júni 1992. Verzie tohto systému sú Base16, Base32, Base36, Base58, Base85, Base91 a Base122. Neskoršie štandardy sa aktívne používajú v oblasti IT.
Zaujímavý fakt
Niektoré systémy používajú Base58 na kódovanie adries URL, ktorý sa líši od Base64 absenciou znakov v konečnom texte, ktoré môže osoba nejednoznačne vnímať. 0 (nula), O (veľké latinské o), I (veľké latinské i), l (malé latinské L) sú vylúčené. Vylúčené sú tiež znaky + (plus) a / (lomka), ktoré pri kódovaní adresy URL môžu viesť k nesprávnej interpretácii adresy.
Base64 poskytuje reverzibilné a obnoviteľné kódovanie. Služba prekladá znaky osembitovej kódovej tabuľky na znaky, ktoré sú zachované pri prenose informácií v sieťach a medzi zariadeniami.