Base64 Encoder and Decoder

A free online Base64 encoder and decoder for quick encoding and decoding, with convenient features like UTF-8 support, secure copy, and clear.

Kódování (text → Base64)

Dekódování (Base64 → text)

Návod k použití

Base64 kóduje binární data do ASCII pro snadnější přenos a uložení. Velikost se zvětší o přibližně 33 %.
Kódování: Převod čistého textu na Base64 pro bezpečnější přenos.
Dekódování: Obnovení původního textu ze Base64 řetězce.

Funkce

  • UTF-8 bezpečné: Správné zpracování ne-ASCII znaků (pomocí encodeURIComponent/unescape).
  • Podpora URL-bezpečného formátu: Jedno kliknutí pro přepínání + / → - _, volitelné odstranění paddingu =.
  • Příprava před dekódováním: Možnost ignorovat bílé znaky, automatická obnova URL-bezpečného formátu a doplnění =.
  • Interaktivní: Vstup se zpracovává automaticky, zobrazují se statistiky délky a růstu.
  • Uživatelská přívětivost: Rychlé kopírování, vzájemné vyplňování výsledků, klávesnicová dostupnost, přátelské pro mobilní zařízení.
  • Jednotný vzhled: Bez Tailwindových tříd dark:, plně využívá DaisyUI téma.

Rychlé příklady

Původní text:
Hello, World!
Base64:
SGVsbG8sIFdvcmxkIQ==

Co je Base64

Base64 je způsob kódování binárních dat do ASCII textu, často používaný pro přenos obrázků nebo obsahu souborů v textových protokolech jako JSON, XML nebo HTTP.

Kóduje každé 3 bajty jako 4 tisknutelné znaky, což obvykle zvyšuje velikost o přibližně 33 %.

Standardní Base64 používá znaky A–Z a–z 0–9 + / a doplňkový znak =; URL-bezpečná varianta nahrazuje + a / znaky - a _, aby se vyhnula problémům s escapováním v URL.

Běžné použití

  • Vložení obrázku nebo malého souboru jako Data URI.
  • Přenos binárních dat mezi klientem a serverem (např. šifrovaný text, komprimovaný proud).
  • Převod textu na tisknutelnou formu pro vyřešení problémů s nekonzistentním kódováním nebo neviditelnými znaky.

Časté otázky a poznámky

  • Sad znaků: V prostředí webové stránky nejprve zpracujte text pomocí UTF-8 (tento nástroj již má vnitřní podporu).
  • URL-bezpečný: Pro parametry nebo cesty URL doporučujeme použít URL-bezpečnou verzi a zvážit odstranění doplňkových znaků.
  • Doplňkové znaky: Některé implementace umožňují vynechání =, při dekódování je nutné automaticky doplnit na násobek 4.
  • Konce řádků: MIME Base64 může obsahovat konce řádků; při dekódování můžete zaškrtnout „ignorovat bílé znaky“.

Jak provádět Base64 kódování a dekódování pomocí programovacích jazyků

JavaScript
Text → Base64 (UTF-8 bezpečný)
const encoded = btoa(unescape(encodeURIComponent(text)));
// URL-bezpečný
const urlSafe = encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
Dekódování (Base64 → text)
// Předzpracování: nahraďte -_ za +/
let b64 = input.replace(/-/g, '+').replace(/_/g, '/');
if (b64.length % 4 !== 0) b64 = b64.padEnd(b64.length + (4 - (b64.length % 4)), '=');
const text = decodeURIComponent(escape(atob(b64)));
PHP
Kódování (text → Base64)
$encoded = base64_encode($text);
// URL-bezpečný
$urlSafe = rtrim(strtr($encoded, '+/', '-_'), '=');
Dekódování (Base64 → text)
$b64 = strtr($input, '-_', '+/');
// Automatické doplnění '='
if (strlen($b64) % 4 !== 0) $b64 .= str_repeat('=', 4 - (strlen($b64) % 4));
$text = base64_decode($b64);
Python
Kódování (text → Base64)
import base64

encoded = base64.b64encode(text.encode('utf-8')).decode('ascii')
# URL-bezpečné kódování (bez doplňku)
url_safe = encoded.replace('+','-').replace('/','_').rstrip('=')
Dekódování (Base64 → text)
import base64

def b64_decode(s: str) -> str:
    s = s.replace('-','+').replace('_','/')
    s += '=' * (-len(s) % 4)  # Automatické doplnění '='
    return base64.b64decode(s).decode('utf-8')
Go
Kódování (text → Base64)
import (
    "encoding/base64"
)

enc := base64.StdEncoding.EncodeToString([]byte(text))
// URL-bezpečné kódování (bez doplňku)
urlEnc := base64.RawURLEncoding.EncodeToString([]byte(text))
Dekódování (Base64 → text)
import (
    "encoding/base64"
)

decBytes, err := base64.StdEncoding.DecodeString(enc)
// URL-bezpečné dekódování (bez doplňku)
decURL, err2 := base64.RawURLEncoding.DecodeString(urlEnc)
Rust
Kódování (text → Base64)
use base64::{engine::general_purpose, Engine as _};

let enc = general_purpose::STANDARD.encode(text.as_bytes());
// URL-bezpečné kódování (bez doplňku)
let url_enc = general_purpose::URL_SAFE_NO_PAD.encode(text.as_bytes());
Dekódování (Base64 → text)
use base64::{engine::general_purpose, Engine as _};

let dec_bytes = general_purpose::STANDARD.decode(&enc).unwrap();
let dec = String::from_utf8(dec_bytes).unwrap();

let url_dec = String::from_utf8(
    general_purpose::URL_SAFE_NO_PAD.decode(&url_enc).unwrap()
).unwrap();
Závislost Cargo: base64 = "0.22"
Java
Kódování (text → Base64)
import java.nio.charset.StandardCharsets;
import java.util.Base64;

String enc = Base64.getEncoder().encodeToString(text.getBytes(StandardCharsets.UTF_8));
// URL-bezpečné kódování (bez doplňku)
String urlEnc = Base64.getUrlEncoder().withoutPadding().encodeToString(text.getBytes(StandardCharsets.UTF_8));
Dekódování (Base64 → text)
import java.nio.charset.StandardCharsets;
import java.util.Base64;

String dec = new String(Base64.getDecoder().decode(enc), StandardCharsets.UTF_8);
String urlDec = new String(Base64.getUrlDecoder().decode(urlEnc), StandardCharsets.UTF_8);

Příklady Data URI

Vložení obrázku nebo malého souboru ve formátu Data URI:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...

Poznámka: Pro velké soubory se nepoužívá Data URI, protože výrazně zvětší velikost HTML/JSON a negativně ovlivní výkon.