Base64 is een positienummersysteem met een basis van 64 afdrukbare ASCII-tekens (American Standard Code for Information Interchange). Het systeem wordt bijvoorbeeld gebruikt om binaire bestanden in e-mail te presenteren. Alle Base64 varianten gebruiken de karakters A-Z, a-z en 0-9, 62 karakters in totaal, de ontbrekende twee karakters worden vervangen door verschillende karakters in implementatiesystemen. Elke drie originele bytes zijn gecodeerd met vier tekens.
Geschiedenis van Base64
Eerst kon alleen tekst via e-mail worden verzonden (RFC 822). Na verloop van tijd was het, samen met de tekst, nodig om audio-, video- en grafische bestanden, applicaties, enz. over te zetten. Er was behoefte om een binair bestand naar tekst te converteren. Base64 is toegevoegd aan de toen bestaande UUE-codering (Uuencode), die wordt gebruikt in de MIME-specificatie (Multipurpose Internet Mail Extensions) (RFC 2045-2049).
MIME is een standaard voor het beschrijven van kopteksten in elektronische berichten. Het gebruik ervan stelt u in staat om meerdere bijlagen in één brief te verzenden, bijvoorbeeld gearchiveerde en tekstbestanden of HTML-pagina's. Een MIME-bewust e-mailprogramma haalt het archief vrijelijk uit een tekstbestand, geeft het bericht weer en parseert de HTML-tags. Outlook Express voert bijvoorbeeld automatisch scripts uit die zijn ingesloten in een HTML-pagina.
Base64 werd geboren in het tijdperk van zeven-, zes- en drie-bits bytes. Oude coderingen ondersteunden de acht-bits standaard niet, hierdoor ging een deel van de informatie verloren bij de overdracht van het oude systeem naar het nieuwe. Vaak liet de mailserver bij het versturen van brieven een extra, achtste bit vallen of verzond geen video en afbeeldingen. Om dergelijke problemen te elimineren, werden coderingen ontwikkeld voor het converteren van binaire code naar tekst. Het meest populaire en effectieve systeem is Base64, vanwege zijn eenvoud wordt het overal gebruikt.
Een algoritme genaamd 'encoding for printing' werd voor het eerst beschreven in 1987, Base64 verscheen in juni 1992. De versies van dit systeem zijn Base16, Base32, Base36, Base58, Base85, Base91 en Base122. Latere standaarden worden actief gebruikt op IT-gebied.
Interessant feit
Sommige systemen gebruiken Base58 om URL's te coderen, wat verschilt van Base64 door de afwezigheid van tekens in de uiteindelijke tekst die door een persoon dubbelzinnig kunnen worden waargenomen. 0 (nul), O (Latijn met hoofdletter o), I (Latijn met hoofdletter i), l (kleine Latijnse L) zijn uitgesloten. Eveneens uitgesloten zijn de tekens + (plus) en / (slash), die bij het coderen van een URL kunnen leiden tot een onjuiste interpretatie van het adres.
Base64 biedt omkeerbare en herstelbare codering. De service vertaalt de karakters van de acht-bits codetabel naar karakters die behouden blijven tijdens de overdracht van informatie in netwerken en tussen apparaten.