Didaktický simulátor RFC 4648 · BINÁRNY ROZPAD

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.

Rýchle ukážky:
0 B / 0 znakov
Potiahnite sem súbor alebo kliknite pre nahratie (obrázok, ikona, dokument)
HEX DUMP VSTUPNÝCH BAJTOV: 0 B
(prázdny vstup)
0 B
NÁRAST VEĽKOSTI +0 % (+33,3 % priemer)
PADDING ZNAKY (=) 0 × (bez paddingu)
RFC 4648 STATUS V poriadku

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!

Zadať 3 znaky:
VSTUP: 3 BAJTY (3 × 8 BITOV = 24 BITOV) Kliknite na bit pre zmenu (0 / 1)
BYTE 1: M ASCII 77 (0x4D)
BYTE 2: a ASCII 97 (0x61)
BYTE 3: n ASCII 110 (0x6E)
PRELIEVANIE DÁT: 24 BITOV → 4 × 6-BITOVÉ SKUPINY
VÝSTUP: 4 ŠESTICE (4 × 6 BITOV = 24 BITOV) → INDEX 0..63 → BASE64 ZNAKY Výsledok: TWFu
SKUPINA 1 6b z B1
Index: 19 T
SKUPINA 2 2b z B1 + 4b z B2
Index: 22 W
SKUPINA 3 4b z B2 + 2b z B3
Index: 5 F
SKUPINA 4 6b z B3
Index: 46 u

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 =.

DĹŽKA: NÁSOBOK 3 0× '='

Príklad: "Man" (3 bajty = 24 bitov)

24 bitov / 6 bitov = 4 celé skupiny

Žiadny bit nechýba. Výsledok má presne 4 znaky: "TWFu".

ZVYŠOK: 2 BAJTY 1× '='

Príklad: "Ma" (2 bajty = 16 bitov)

16 bitov = 6b + 6b + 4b (+ 2 nuly) + [chýba 6b]

Chýba 1 bajt. 3. skupina sa doplní 2 nulovými bitmi a 4. skupina je nahradená symbolom "=". Výsledok: "TWE=".

ZVYŠOK: 1 BAJT 2× '=='

Príklad: "M" (1 bajt = 8 bitov)

8 bitov = 6b + 2b (+ 4 nuly) + [chýba 6b] + [chýba 6b]

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!

Použitý znak Nepoužitý znak
Špeciálny znak: = (Rovná sa) – nepoužíva sa ako dátový symbol, slúži výlučne ako koncový padding.
Abeceda: A–Z (0–25), a–z (26–51), 0–9 (52–61), + (62), / (63)

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.