Base64 Encoder / Base64 Decoder Online

0 chars
0 chars

Potřebujete převést čitelný text do formátu Base64 pro použití v HTTP hlavičkách, nebo naopak rozluštit obsah API tokenu? Náš Base64 Text Encoder & Decoder je specializovaný nástroj pro práci s textovými řetězci, který si poradí i se záludnostmi, jako je diakritika nebo speciální znaky.

Pracujete s obrázky?
Pokud váš kód začíná data:image/png... nebo chcete převést soubor na text, tento nástroj vám zobrazí jen nesmyslné znaky. Použijte náš specializovaný nástroj pro převod na obrázek.

Jak formát base64 funguje?

Mnoho lidí používá Base64 denně, ale málokdo ví, jak funguje “pod kapotou”. Nejde o magii, ale o prostou matematiku s bity.

Běžný text v počítači je uložen po 8 bitech (1 byte). Base64 však používá “abecedu” o 64 znacích (A-Z, a-z, 0-9, +, /). Protože 2^6 = 64, jeden znak Base64 reprezentuje přesně 6 bitů informace.

Proces převodu (Algoritmus):

  1. Vezmou se tři znaky vašeho textu (3 × 8 bitů = 24 bitů).
  2. Těchto 24 bitů se rozdělí na čtyři skupiny po 6 bitech.
  3. Každé skupině se přiřadí znak z tabulky Base64.

Důsledek: Protože děláme ze 3 znaků 4 znaky, výsledný Base64 řetězec je vždy přibližně o 33 % delší než původní text.

Problém znaková sady: Proč běžné Base64 konvertory ničí češtinu?

Pokud jste někdy zkoušeli zakódovat slovo “Kůň” v konzoli prohlížeče pomocí funkce btoa('Kůň'), pravděpodobně jste dostali chybu: String contains characters outside of the Latin1 range.

Base64 byl původně navržen pro 7-bitové ASCII znaky. Čeština, emoji a další speciální symboly (UTF-8) však zabírají v paměti více bytů (multibyte characters).

  • Písmeno a = 1 byte.
  • Písmeno ř = 2 byty.
  • Emoji 🚀 = 4 byty.

Náš nástroj tento problém řeší. Před samotným kódováním do Base64 text správně převedeme na sekvenci UTF-8 bytů. Díky tomu můžete bezpečně kódovat JSON objekty, české texty i moderní symboly bez rizika poškození dat.

Kde se Base64 textové kódování používá?

Zatímco obrázky v Base64 slouží hlavně pro vkládání do CSS/HTML, textové Base64 má zcela jiné využití v backendových systémech:

1. HTTP Basic Authentication

Když se přihlašujete k API, hlavička často vypadá takto: Authorization: Basic dXppdmF0ZWw6aGVzbG8= Za tímto kódem se skrývá jednoduše spojené jméno a heslo ve formátu uživatel:heslo. Náš nástroj vám umožní tyto hlavičky snadno generovat nebo kontrolovat.

2. JSON Web Tokens (JWT)

Moderní webové aplikace používají pro přihlášení tzv. JWT. Takový token vypadá jako tři dlouhé řetězce oddělené tečkou. Část s daty (Payload) je obyčejný JSON objekt zakódovaný v Base64.

  • Tip: Zkuste sem vložit prostřední část vašeho JWT tokenu a dekódovat ji. Uvidíte přesně, jaká data o vás aplikace eviduje (např. ID uživatele, expirace).

3. Konfigurační soubory (Kubernetes Secrets)

Platformy jako Kubernetes ukládají tajné údaje (Secrets) v konfiguračních YAML souborech právě v Base64. Nejedná se o šifrování, ale o způsob, jak do textového souboru uložit binární data nebo text s problematickými znaky (nové řádky, uvozovky).

Co je to “URL Safe Base64 encoding” a proč na tom záleží?

Standardní Base64 abeceda obsahuje znaky + (plus) a / (lomeno). Oba tyto znaky mají v URL adresách speciální význam:

  • / odděluje adresáře.
  • + se často interpretuje jako mezera.

Pokud byste poslali standardní Base64 v URL parametru (např. site.com?token=ab/cd+ef), server by mohl data přečíst špatně.

Řešení (URL Safe mód): Náš přepínač aktivuje variantu Base64URL (podle RFC 4648), která provádí tyto změny:

  • + se mění na - (pomlčka).
  • / se mění na _ (podtržítko).
  • Na konci se odstraňují znaky = (padding), které v URL nejsou potřeba.

Mýtus: Base64 není šifrování!

Je důležité si uvědomit zásadní rozdíl, který začátečníci často pletou:

  1. Kódování (Encoding - Base64): Slouží k přenosu dat. Je to jako zabalit věc do kufru, aby se nerozbila cestou. Kdokoliv kufr najde, může ho otevřít (dekódovat) a vidět obsah. Není to bezpečné pro tajná data.
  2. Šifrování (Encryption - AES, RSA): Zamyká data klíčem. Bez klíče se k obsahu nedostanete.
  3. Hashování (Hashing - SHA, MD5): Jednosměrný proces (např. pro ukládání hesel). Z výsledku nelze získat původní text.

Pokud potřebujete poslat heslo nebo citlivý údaj, samotné Base64 nestačí. Musíte použít HTTPS (SSL/TLS), které přenos zašifruje.


Často kladené otázky (FAQ)

Co znamenají znaky "=" na konci řetězce? To je tzv. "padding" (vycpávka). Protože Base64 kóduje data po skupinách 3 znaků, může se stát, že délka původního textu není dělitelná třemi. Znaky `=` se přidávají na konec, aby dekodér poznal, kolik bitů má na konci ignorovat.
Proč se dekódovaný text zobrazuje jako "rozsypaný čaj"? Pravděpodobně se snažíte dekódovat data, která nejsou textem. Pokud Base64 řetězec reprezentuje zkomprimovaný soubor (ZIP), obrázek nebo šifrovaná data, převod na text (UTF-8) nedává smysl. Zkuste zjistit původ dat.
Funguje nástroj offline? Ano. Veškerá logika převodu je napsána v JavaScriptu a běží přímo ve vašem prohlížeči. Jakmile se stránka načte, můžete se odpojit od internetu a nástroj bude stále fungovat. Vaše data se nikam neodesílají.