Obousměrný převodník soustav – Decimal, Hex, Base32, Base64
Převádějte čísla mezi desítkovou soustavou a Base16 (hex), Base32 a Base64 oběma směry, s automatickým rozpoznáním soustavy. Zakódujte nebo dekódujte hodnotu.
Obousměrný převodník soustav
Převádějte mezi desítkovými čísly a standardními kódováními (Base16/Hex, Base32, Base64). Zadejte hodnotu do kteréhokoli pole pro převod.
Zadejte kladné celé číslo (max: 9 007 199 254 740 991)
Zadejte hodnotu v Base16, Base32 nebo Base64
O kódování soustav
Dokumentace
Obousměrný převodník soustav: desítková soustava ↔ Base16, Base32, Base64
Převodník soustav převádí číslo z jednoho způsobu zápisu do druhého. Počítače, URL adresy a datové formáty jen zřídka ukládají číslo v obyčejném desítkovém tvaru — obvykle ho zabalí do kompaktnějšího nebo pro přenos bezpečnějšího kódování, jako je Base16 (hexadecimální), Base32 nebo Base64. Tento nástroj převádí oběma směry: zadáte desítkové číslo a nástroj zobrazí jeho tvar v Base16/Base32/Base64, nebo vložíte zakódovanou hodnotu a získáte zpět desítkové číslo. Nástroj také rozpozná, ve které soustavě je zakódovaná hodnota zapsaná.
Co znamená pojem „základ" (base)
Každá poziční číselná soustava má základ (anglicky base nebo radix) — počet různých symbolů, které používá pro jednu číslici. Desítková soustava má základ 10 (0–9). Kódování popsaná zde vyměňují větší množinu symbolů za kratší řetězec:
- Base16 (hexadecimální) — symboly
0-9aA-F. Každý znak nese 4 bity. Používá se všudypřítomně — u barevných kódů (#FF0000), adres v paměti a hashů. - Base32 — symboly
A-Za2-7(RFC 4648). Každý znak nese 5 bitů. Nerozlišuje velká a malá písmena a neobsahuje snadno zaměnitelné znaky, takže ho lze bez problémů přečíst nahlas nebo přepsat ručně. - Base64 — symboly
A-Z,a-z,0-9,+a/(RFC 4648). Každý znak nese 6 bitů. Standardní způsob přenosu binárních dat čistě textovými kanály, jako je e-mail nebo pole v JSON.
Čím vyšší základ, tím méně znaků stejné číslo potřebuje — ale tím větší abecedu si musíte pamatovat.
Jak nástroj používat
Nástroj má dvě pole a funguje v obou směrech podle toho, do kterého pole píšete:
- Desítkové číslo → zakódovaná hodnota. Zadejte kladné celé číslo do desítkového pole. Nástroj okamžitě zobrazí hodnotu v Base16, Base32 i Base64.
- Zakódovaná hodnota → desítkové číslo. Vložte hodnotu v Base16, Base32 nebo Base64 do pole pro zakódovanou hodnotu. Nástroj rozpozná soustavu, ověří platnost znaků a vrátí desítkové číslo.
Rozsah a validace
Hodnoty jsou omezeny na maximální bezpečné celé číslo JavaScriptu, 9007199254740991 (což je 2^53 − 1). Nad touto hranicí už nelze celá čísla reprezentovat přesně, takže převodník, který by pokračoval dál, by tiše vracel nesprávné číslice — nástroj místo hádání ohlásí chybu „mimo rozsah". Desítkový vstup musí být nezáporné celé číslo; zakódovaný vstup smí obsahovat pouze znaky platné pro danou soustavu, jinak ho nástroj označí jako chybný, místo aby dekódoval nesmysl.
Řešené příklady
- Číslo 255 v desítkové soustavě. Base16 =
FF, protože 255 = 15×16 + 15 a obě číslice jsouF. Proto je#FFFFFFbílá barva: tři bajty, každý na svém maximu. - Číslo 1000 v desítkové soustavě. Base16 =
3E8(3×256 + 14×16 + 8 = 1000). - Dekódování
FF. Rozpoznáno jako Base16, dekóduje se na 255. - Bajt na maximu, 8 bitů, je v hexadecimální podobě
FF— jeden hex znak na 4 bity, tedy dva znaky na bajt. Stejný bajt potřebuje v Base32 delší řetězec a v Base64 doplněnou (paddovanou) skupinu, a proto hex zůstává nejčitelnější volbou pro krátké hodnoty, jako jsou barvy a adresy.
Kde se jednotlivá kódování používají
- Base16 — barvy v CSS/HTML, MAC a IPv6 adresy, kryptografické hashe a kontrolní součty, hexadecimální výpisy binárních souborů.
- Base32 — tajné klíče pro TOTP/2FA, některé systémy pro sdílení souborů a systémy založené na DNS, identifikátory ručně přepisované nebo diktované nahlas, kde je třeba zamezit záměně znaků.
- Base64 —
data:URI, e-mailové přílohy (MIME), vkládání obrázků nebo certifikátů do JSON či XML, JWT tokeny.
Protože každé kódování je jen jiný zápis stejného čísla, převod mezi nimi hodnotu nikdy nezmění — mění se jen počet znaků potřebných k jejímu zápisu a to, jakými kanály může bezpečně projít.