Base64 ihrisko & Binárny inšpektor
Interaktívny priestor na pochopenie princípu kódovania Base64. Pozrite sa, ako sa 3 vstupné bajty (24 bitov) prelievajú do 4 šesticových skupín (6 bitov), prečo kódovanie zväčšuje veľkosť dát presne o +33,3 % a kedy sa dopĺňa zarovnanie (=).
1. Obojsmerný prevodník (Text / Súbor ↔ Base64)
Píšte do ľubovoľného poľa alebo prepnite aktívny smer. Podpora UTF-8 diakritiky, emotikonov aj nahrávania súborov.
2. 24-bitový inšpektor rozpadu (3 Bajty → 4 Šestice)
Jadro Base64: 3 osembajtové skupiny (3 × 8 = 24 bitov) sa nanovo rozdelia na 4 šesťbajtové skupiny (4 × 6 = 24 bitov). Kliknutím na ktorýkoľvek bit ho môžete prepnúť (0 ↔ 1) a sledovať zmenu v reálnom čase!
3. Záhada zarovnania (Padding pomocou "=" a "==")
Čo sa stane, ak vstup nemá počet bajtov deliteľný 3? Base64 musí vždy produkovať bloky po 4 znakoch. Zvyšné chýbajúce bajty sa doplnia nulovými bitmi a na konci sa označia znakom =.
Príklad: "Man" (3 bajty = 24 bitov)
Žiadny bit nechýba. Výsledok má presne 4 znaky: "TWFu".
Príklad: "Ma" (2 bajty = 16 bitov)
Chýba 1 bajt. 3. skupina sa doplní 2 nulovými bitmi a 4. skupina je nahradená symbolom "=". Výsledok: "TWE=".
Príklad: "M" (1 bajt = 8 bitov)
Chýbajú 2 bajty. 2. skupina sa doplní 4 nulovými bitmi a posledné dve skupiny sú "==". Výsledok: "TQ==".
4. Kompletná 64-znaková tabuľka (RFC 4648)
64 symbolov reprezentuje hodnoty 0 až 63 (26 = 64). Znaky, ktoré sa práve nachádzajú vo vašom výstupnom Base64 reťazci, sú zeleno zvýraznené s počítadlom výskytu!
= (Rovná sa) – nepoužíva sa ako dátový symbol, slúži výlučne ako koncový padding.
Kde sa Base64 v praxi reálne používa a prečo?
Data URI v HTML / CSS
Namiesto sťahovania malých ikoniek osobitnými HTTP požiadavkami možno obrázok zakódovať priamo do kódu stránky: <img src="data:image/png;base64,...">.
E-mailové prílohy (MIME)
Protokol SMTP bol historicky navrhnutý výlučne pre 7-bitový text. Ak chcete e-mailom poslať PDF, ZIP alebo fotku, poštový klient ich musí prebaliť do bezpečného Base64 textu.
Web API & JWT Tokeny
JSON Web Tokens (JWT) používajú variant Base64URL na prenos používateľských rolí a kryptografických podpisov priamo v HTTP hlavičkách a URL adresách.