Kódovanie a dekódovanie online (Base64, URL)
Kalkulačka zakóduje alebo dekóduje text. Podporuje Base64 encode/decode aj URL encode/decode.
Ako kódovať a dekódovať
- zadáme text do kalkulačky,
- vyberieme buď:
- Base64 kódovanie,
- Base64 dekódovanie,
- URL kódovanie,
- URL dekódovanie,
- klikneme na „Vypočítať“,
- kalkulačka podľa zvolenej akcie vypočíta výsledok, ktorý si môžeme kliknutím na „Kopírovať“ uložiť do schránky.
Obmedzenia:
- vstup nesmie byť prázdny null (prázdny vstup), povolený je však prázdny reťazec,
- kalkulačka odstraňuje medzery na začiatku a konci vstupu,
- pri dekódovaní kontroluje platnosť vstupu:
- Base64 musí mať povolené znaky a správnu dĺžku,
- URL decode vyžaduje správny percent-encoding
Ako funguje Base64 kódovanie a dekódovanie
Čo je Base64
Je to spôsob, ako zakódovať binárne dáta (napr. obrázky, text, JSON) do čitateľných znakov ASCII.
Base64 používame napr. v e-mailoch, pri prenosoch dát a pri ukladaní binárnych súborov do textových formátov.
Príklad Base64 encode
Vstup: Hello
Výstup: SGVsbG8=
Príklad Base64 decode
Vstup: SGVsbG8=
Výstup: Hello
Ako funguje URL encode a decode
Čo je URL encoding
URL encoding (percent-encoding) zabezpečí, aby špeciálne znaky (! , ? . = , & , medzera) mohli byť bezpečne prenesené v URL adrese.
Príklad URL encode
Vstup: Hello World!
Výstup: Hello%20World%21
Príklad URL decode
Vstup: Hello%20World%21
Výstup: Hello World!
Praktické využitie kódovania a dekódovania
- prenos dát cez internet (API, JSON, XML) – pri komunikácii medzi servermi alebo aplikáciami je potrebné, aby dáta boli prenositeľné v textovej podobe,
- Base64 sa používa napríklad v API, keď je potrebné poslať binárne dáta (obrázok, certifikát, hash),
- URL encoding je zas nevyhnutný pri odosielaní parametrov cez HTTP, aby špeciálne znaky nespôsobili chybu,
- ukladanie obrázkov a binárnych súborov do databázy – nie vždy je vhodné ukladať obrázky priamo na disk. V niektorých prípadoch sa konvertujú do Base64 a ukladajú ako text v databáze.
- výhodou je jednoduchý prenos a integrácia s textovými formátmi (napr. JSON),
- nevýhodou je väčšia veľkosť dát (Base64 pridáva približne 33 %),
- bezpečné odosielanie parametrov v URL adrese – keď URL obsahuje medzery, diakritiku alebo znaky ako ? , &, = musia sa zakódovať, aby sa zachoval správny význam adresy,
- programovanie a web development – používame napr. pri:
- generovaní tokenov a kľúčov (napr. JWT používa Base64 encoding),
- spracovaní formulárových údajov (URL encoding),
- prenose konfigurácií a bezpečnostných údajov (API kľúče, heslá). Napríklad JSON Web Token (JWT) je zložený z troch častí (header, payload, signature), ktoré sú zakódované v Base64.
Najčastejšie kladené otázky (FAQ)
Platný Base64 obsahuje iba znaky A–Z, a–z, 0–9, +, / a prípadne znak = na konci. Dĺžka musí byť násobkom 4.
Base64 slúži na zakódovanie binárnych dát do textovej podoby, zatiaľ čo URL encoding slúži na bezpečný prenos znakov v URL adrese.
Nie. Base64 nie je šifra, ale len forma kódovania. Slúži na reprezentáciu dát v čitateľnej textovej podobe, ale neposkytuje žiadnu bezpečnosť.
= na konci?Znak „=“ slúži ako výplň (padding), aby mal výsledný reťazec dĺžku násobku 4.
Áno, Base64 môže obsahovať ľubovoľné binárne dáta, nielen text. Po dekódovaní získate pôvodný súbor (napr. obrázok, PDF, audio).
Áno. URL encoding (percent-encoding) sa používa v URL adresách, zatiaľ čo HTML encoding (<, >, &) sa používa v HTML kóde na ochranu špeciálnych znakov.
Kalkulačka zobrazí chybové hlásenie. To znamená, že vstup obsahuje nepovolené znaky alebo nesprávnu dĺžku.
Najmä pri odosielaní dát cez GET parametre, pri tvorbe API requestov alebo pri dynamickej generácii odkazov, aby sa zabránilo chybám v URL.
Áno. Niekedy sa Base64 reťazec musí vložiť do URL. V takom prípade sa najprv urobí Base64 encode a následne URL encode, aby reťazec fungoval v adrese.
Teoreticky neobmedzená, ale výsledok je vždy približne o 33 % dlhší ako pôvodné dáta. Preto pri veľkých súboroch narastie objem dát.
Ďalšie kalkulačky na prácu s textom
Zdroje:
- Percent-encoding: https://en.wikipedia.org/wiki/Percent-encoding
- base64: https://en.wikipedia.org/wiki/Base64