A Base64 egy pozíciós számrendszer, amely 64 nyomtatható ASCII (amerikai szabványos információcsere kód) karakterből áll. A rendszert például bináris fájlok e-mailben történő bemutatására használják. Az összes Base64 változat A-Z, a-z és 0-9 karaktereket használ, összesen 62 karakter, a hiányzó két karaktert más-más karakter helyettesíti a megvalósítási rendszerekben. Minden három eredeti bájt négy karakterrel van kódolva.
A Base64 története
Először csak szöveget lehetett e-mailben küldeni (RFC 822). Idővel a szöveggel együtt hang-, video- és grafikus fájlokat, alkalmazásokat stb. kellett átvinni. Szükség volt egy bináris fájl szöveggé konvertálására. A Base64 hozzáadásra került az akkor meglévő UUE kódoláshoz (Uuencode), amelyet a MIME (Multipurpose Internet Mail Extensions) specifikáció (RFC 2045-2049) használ.
A MIME egy szabvány az elektronikus üzenetek fejléceinek leírására. Használata lehetővé teszi több melléklet, például archivált és szöveges fájlok vagy HTML oldalak küldését egy levélben. Egy MIME-tudatos levelezőprogram szabadon kibontja az archívumot egy szöveges fájlból, megjeleníti az üzenetet, és elemzi a HTML-címkéket. Például az Outlook Express automatikusan futtatja a HTML-oldalakba ágyazott szkripteket.
A Base64 a hét-, hat- és hárombites bájtok korszakában született. A régi kódolások nem támogatták a nyolcbites szabványt, emiatt az információ egy része elveszett a régi rendszerből az újba való átvitelkor. Gyakran előfordul, hogy levelek küldésekor a levelezőszerver egy plusz, nyolcadik bitet dobott le, vagy nem továbbított videót és képeket. Az ilyen problémák kiküszöbölésére a bináris kód szöveggé konvertálására szolgáló kódolásokat fejlesztettek ki. A legnépszerűbb és leghatékonyabb rendszer a Base64, egyszerűsége miatt mindenhol használják.
A "nyomtatási kódolás" nevű algoritmust először 1987-ben írták le, a Base64 1992 júniusában jelent meg. A rendszer verziói a következők: Base16, Base32, Base36, Base58, Base85, Base91 és Base122. A későbbi szabványokat aktívan használják az informatikai területen.
Érdekes tény
Egyes rendszerek a Base58-at használják az URL-ek kódolására, ami abban különbözik a Base64-től, hogy a végső szövegben nincsenek olyan karakterek, amelyeket egy személy félreérthetően észlelhet. 0 (nulla), O (latin nagybetűs o), I (latin nagybetűs i), l (kis latin L) nem szerepel. Szintén kizárt a + (plusz) és / (perjel) karakter, amelyek egy URL kódolásakor a cím helytelen értelmezéséhez vezethetnek.
A Base64 visszafordítható és helyreállítható kódolást biztosít. A szolgáltatás a nyolcbites kódtábla karaktereit olyan karakterekké alakítja, amelyek a hálózatokban és az eszközök között történő információátvitel során megmaradnak.