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.

Codare (text → Base64)

Decodare (Base64 → text)

Instrucțiuni de utilizare

Base64 encodează datele binare în ASCII pentru transmitere și stocare. Dimensiunea crește cu aproximativ 33%.
Codare: Convertiți textul simplu în Base64 pentru transmitere mai sigură.
Decodare: Reveniți la textul original dintr-un șir Base64.

Caracteristici

  • Sigur pentru UTF-8: gestionează corect caracterele non-ASCII (folosind encodeURIComponent/unescape ca pătură).
  • Suport URL-safe: comutați ușor + / → - _, opțional eliminați umplerea =.
  • Preprocesare înainte de decodare: ignorați spațiile, restabiliți automat URL-safe și completați automat =.
  • Interactivitate în timp real: procesare automată la introducere, afișare statistică lungime și creștere.
  • Ușurință de utilizare: copiere rapidă, completare reciprocă a rezultatelor, accesibil cu tastatura, prietenos pentru mobil.
  • Temă uniformă: fără clase dark: Tailwind, folosește complet tema DaisyUI.

Exemple rapide

Text original:
Hello, World!
Base64:
SGVsbG8sIFdvcmxkIQ==

Ce este Base64

Base64 este o metodă de codificare a datelor binare în text ASCII, utilizată frecvent pentru transmiterea imaginilor sau conținutului fișierelor prin protocoale textuale precum JSON, XML sau HTTP.

Aceasta mapă fiecare 3 octeți în 4 caractere afișabile, ceea ce duce de obicei la o creștere de aproximativ 33% în dimensiune.

Base64 standard folosește A–Z a–z 0–9 + / și caracterul de umplere =; varianta sigură pentru URL înlocuiește + / cu - _, pentru a evita problemele de escapare în URL-uri.

Utilizări frecvente

  • Incorporați imagini sau fișiere mici ca Data URI.
  • Transmiteți date binare între client și server (cum ar fi criptograme sau fluxuri comprimate).
  • Convertește textul într-o formă afișabilă pentru a evita problemele de inconsistență a encodării sau a caracterelor invizibile.

Întrebări frecvente și observații

  • Set de caractere: În medii web, procesați mai întâi textul în UTF-8 (acest instrument are deja această funcție integrată).
  • Sigur pentru URL: Pentru parametrii sau calea URL, recomandăm utilizarea variantei sigure pentru URL și considerarea eliminării caracterelor de umplere.
  • Umplere: Unele implementări permit omisiunea lui =; la decodare, trebuie completat automat la un multiplu de 4.
  • Sfârșit de linie: Base64 MIME poate conține sfârșituri de linie; pentru decodare, activați opțiunea „Ignoră caracterele albe”.

Cum să efectuați codarea/decodarea Base64 prin limbaje de programare

JavaScript
Text → Base64 (sigur UTF-8)
const encoded = btoa(unescape(encodeURIComponent(text)));
// Sigur pentru URL
const urlSafe = encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
Decodificare (Base64 → text)
// Preprocesare: puteți înlocui -_ cu +/
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
Codificare (text → Base64)
$encoded = base64_encode($text);
// Sigur pentru URL
$urlSafe = rtrim(strtr($encoded, '+/', '-_'), '=');
Decodificare (Base64 → text)
$b64 = strtr($input, '-_', '+/');
// Completează automat '='
if (strlen($b64) % 4 !== 0) $b64 .= str_repeat('=', 4 - (strlen($b64) % 4));
$text = base64_decode($b64);
Python
Codificare (text → Base64)
import base64

encoded = base64.b64encode(text.encode('utf-8')).decode('ascii')
# Codificare sigură pentru URL (fără umplere)
url_safe = encoded.replace('+','-').replace('/','_').rstrip('=')
Decodificare (Base64 → text)
import base64

def b64_decode(s: str) -> str:
    s = s.replace('-','+').replace('_','/')
    s += '=' * (-len(s) % 4)  # Completează automat '='
    return base64.b64decode(s).decode('utf-8')
Go
Codificare (text → Base64)
import (
    "encoding/base64"
)

enc := base64.StdEncoding.EncodeToString([]byte(text))
// Codificare sigură pentru URL (fără umplere)
urlEnc := base64.RawURLEncoding.EncodeToString([]byte(text))
Decodificare (Base64 → text)
import (
    "encoding/base64"
)

decBytes, err := base64.StdEncoding.DecodeString(enc)
// Decodificare sigură pentru URL (fără umplere)
decURL, err2 := base64.RawURLEncoding.DecodeString(urlEnc)
Rust
Codificare (text → Base64)
use base64::{engine::general_purpose, Engine as _};

let enc = general_purpose::STANDARD.encode(text.as_bytes());
// Codificare sigură pentru URL (fără umplere)
let url_enc = general_purpose::URL_SAFE_NO_PAD.encode(text.as_bytes());
Decodificare (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();
Dependență Cargo: base64 = "0.22"
Java
Codificare (text → Base64)
import java.nio.charset.StandardCharsets;
import java.util.Base64;

String enc = Base64.getEncoder().encodeToString(text.getBytes(StandardCharsets.UTF_8));
// Codificare sigură pentru URL (fără umplere)
String urlEnc = Base64.getUrlEncoder().withoutPadding().encodeToString(text.getBytes(StandardCharsets.UTF_8));
Decodificare (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);

Exemple Data URI

Incorporați imagini sau fișiere mici sub formă de Data URI:

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

Notă: Nu se recomandă utilizarea Data URI pentru fișiere mari, deoarece crește semnificativ volumul HTML/JSON și afectează performanța.