Base64 ir pozicionālu skaitļu sistēma, kuras pamatā ir 64 drukājamas ASCII (Amerikas standarta informācijas apmaiņas kods) rakstzīmes. Sistēma tiek izmantota, piemēram, bināro failu prezentēšanai e-pastā. Visi Base64 varianti izmanto rakstzīmes A-Z, a-z un 0-9, kopā 62 rakstzīmes, trūkstošās divas rakstzīmes ieviešanas sistēmās tiek aizstātas ar dažādām rakstzīmēm. Katrs trīs sākotnējie baiti ir kodēti ar četrām rakstzīmēm.
Base64 vēsture
Sākumā pa e-pastu varēja nosūtīt tikai tekstu (RFC 822). Laika gaitā kopā ar tekstu bija nepieciešams pārsūtīt audio, video un grafiskos failus, lietojumprogrammas utt.. Bija nepieciešams konvertēt bināro failu uz tekstu. Base64 tika pievienots toreiz esošajam UUE kodējumam (Uuencode), kas tiek izmantots MIME (Multipurpose Internet Mail Extensions) specifikācijā (RFC 2045-2049).
MIME ir standarts elektronisko ziņojumu galveņu aprakstīšanai. Tās izmantošana ļauj vienā vēstulē nosūtīt vairākus pielikumus, piemēram, arhivētus un teksta failus vai HTML lapas. MIME zinoša e-pasta programma brīvi izvelk arhīvu no teksta faila, parāda ziņojumu un parsē HTML tagus. Piemēram, programma Outlook Express automātiski palaiž HTML lapā iegultos skriptus.
Base64 radās septiņu, sešu un trīs bitu baitu laikmetā. Vecie kodējumi neatbalstīja astoņu bitu standartu, tāpēc daļa informācijas tika zaudēta, pārsūtot no vecās sistēmas uz jauno. Bieži vien, sūtot vēstules, pasta serveris nometa papildu, astoto, bitu vai nepārsūtīja video un attēlus. Lai novērstu šādas problēmas, tika izstrādāti kodējumi binārā koda konvertēšanai tekstā. Vispopulārākā un efektīvākā sistēma ir Base64, tās vienkāršības dēļ tā tiek izmantota visur.
Algoritms ar nosaukumu "kodēšana drukāšanai" pirmo reizi tika aprakstīts 1987. gadā, bet Base64 parādījās 1992. gada jūnijā. Šīs sistēmas versijas ir Base16, Base32, Base36, Base58, Base85, Base91 un Base122. Vēlāki standarti tiek aktīvi izmantoti IT jomā.
Interesants fakts
Dažas sistēmas vietrāžu URL kodēšanai izmanto Base58, kas atšķiras no Base64 ar to, ka galīgajā tekstā nav rakstzīmju, kuras persona var uztvert neviennozīmīgi. 0 (nulle), O (latīņu lielais burts o), I (latīņu lielais burts i), l (mazais latīņu L) ir izslēgti. Nav iekļautas arī + (pluss) un / (slīpsvītras) rakstzīmes, kas, kodējot URL, var izraisīt nepareizu adreses interpretāciju.
Base64 nodrošina atgriezenisku un atkopjamu kodējumu. Pakalpojums pārvērš astoņu bitu kodu tabulas rakstzīmes rakstzīmēs, kas tiek saglabātas informācijas pārsūtīšanas laikā tīklos un starp ierīcēm.