Kodirnik in dekodirnik Base64
Osnova64 je pozicijski številski sistem z osnovo 64 natisljivih znakov ASCII (ameriška standardna koda za izmenjavo informacij). Sistem se uporablja na primer za predstavitev binarnih datotek v elektronski pošti. Vse različice Base64 uporabljajo znake A-Z, a-z in 0-9, skupaj 62 znakov, dva manjkajoča znaka sta v implementacijskih sistemih nadomeščena z različnimi znaki. Vsaki trije izvirni bajti so kodirani s štirimi znaki.
Zgodovina Base64
Sprva je bilo po e-pošti mogoče poslati samo besedilo (RFC 822). Sčasoma je bilo treba skupaj z besedilom prenesti avdio, video in grafične datoteke, aplikacije itd. Binarno datoteko je bilo treba pretvoriti v besedilo. Base64 je bil dodan takrat obstoječemu kodiranju UUE (Uuencode), ki se uporablja v specifikaciji MIME (Multipurpose Internet Mail Extensions) (RFC 2045-2049).
MIME je standard za opisovanje glav v elektronskih sporočilih. Njegova uporaba vam omogoča pošiljanje več prilog v enem pismu, na primer arhiviranih in besedilnih datotek ali strani HTML. E-poštni program, ki podpira MIME, prosto ekstrahira arhiv iz besedilne datoteke, prikaže sporočilo in razčleni oznake HTML. Na primer, Outlook Express samodejno izvaja skripte, vdelane v stran HTML.
Base64 se je rodil v dobi sedem-, šest- in tri-bitnih bajtov. Stara kodiranja niso podpirala osembitnega standarda, zaradi tega je bil del informacij izgubljen pri prenosu iz starega sistema v novega. Pogosto je poštni strežnik pri pošiljanju pisem izpustil dodatni, osmi bit ali pa ni posredoval videa in slik. Za odpravo takšnih težav so bila razvita kodiranja za pretvorbo binarne kode v besedilo. Najbolj priljubljen in učinkovit sistem je Base64, zaradi svoje preprostosti se uporablja povsod.
Algoritem, imenovan "kodiranje za tiskanje", je bil prvič opisan leta 1987, Base64 se je pojavil junija 1992. Različice tega sistema so Base16, Base32, Base36, Base58, Base85, Base91 in Base122. Kasnejši standardi se aktivno uporabljajo na področju IT.
Zanimivo dejstvo
Nekateri sistemi za kodiranje URL-jev uporabljajo Base58, ki se od Base64 razlikuje po odsotnosti znakov v končnem besedilu, ki bi jih oseba lahko dvoumno zaznala. 0 (ničla), O (veliko latinsko o), I (veliko latinsko i), l (malo latinsko L) so izključeni. Izključena sta tudi znaka + (plus) in / (poševnica), ki lahko pri kodiranju URL-ja povzročita napačno interpretacijo naslova.
Base64 zagotavlja reverzibilno kodiranje, ki ga je mogoče obnoviti. Storitev prevede znake osembitne kodne tabele v znake, ki se ohranijo med prenosom informacij v omrežjih in med napravami.