Codificator/Decodificator Base64

Un encoder/decoder gratuit pentru Base64 online, pentru codificarea și decodificarea rapidă, cu funcții precum suport sigur UTF-8, conversie sigură pentru URL, completare automată, statistici în timp real și funcționalitate de copiere securizată. Oferă exemple de cod multilingve, generare de Data URI, ghiduri detaliate de utilizare și întrebări frecvente. Interfață prietenoasă cu umplerea bidirecțională a câmpurilor de introducere, accesibilitate de la tastatură și design adaptat dispozitivelor mobile. Nu necesită descărcare, funcționează direct în browser.

Codificare (Text → Base64)

Decodificare (Base64 → Text)

Cum se utilizează

Codifică datele binare în format ASCII folosind Base64 pentru transmisie și stocare sigură. Mărimea crește cu aproximativ 33%.
Codifică: Transformă textul simplu în Base64 pentru transmisie sigură.
Decodifică: Recuperează textul original dintr-un șir Base64.

Funcții

  • Sigur pentru UTF-8: Tratează corect caracterele non-ASCII (învelit cu encodeURIComponent/unescape).
  • Suport URL-safe: Comutare cu un singur clic între + / → - _, eliminare opțională a simbolului de completare =.
  • Pre-procesare înainte de decodare: Ignoră spațiile albe, converteste automat la URL-safe și adaugă automat simbolul de completare =.
  • Interacțiune în timp real: Intrare este procesată instant, cu statistici de lungime și rată de creștere afișate.
  • Usabilitate: Copiere rapidă, completare bidirecțională între intrări, accesibil de la tastatură, compatibil cu dispozitive mobile.
  • Temă consistentă: Fără clase Tailwind dark: — stilizată complet cu teme DaisyUI.

Exemple rapide

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

Ce este Base64?

Base64 este o metodă de codificare a datelor binare în text ASCII, folosită în mod obișnuit pentru transmiterea imaginilor sau conținutului fișierelor prin protocoale bazate pe text precum JSON, XML și HTTP.

Mapă fiecare 3 octeți în 4 caractere imprimabile, rezultând de obicei o creștere a mărimii cu aproximativ 33%.

Base64 standard folosește A–Z, a–z, 0–9, +, / și simbolul de completare =; varianta URL-safe înlocuiește + și / cu - și _ pentru a evita problemele de evadare în URL-uri.

Utilizări comune

  • Încorporați imagini sau fișiere mici ca URL-uri de tip Data URI.
  • Transferați date binare între client și server (de exemplu, texte cifrate, fluxuri comprimate).
  • Transformați textul în format imprimabil pentru a evita inconsecvențele de codificare sau caracterele invizibile.

Întrebări frecvente și note importante

  • Set de caractere: În mediile web, mai întâi codificați textul ca UTF-8 (acest instrument include automat acest pas).
  • URL-safe: Pentru parametrii sau căile URL, preferați varianta URL-safe și luați în considerare eliminarea simbolurilor de completare.
  • Simbol de completare (padding): Unele implementări permit omiterea semnului =; în timpul decodării, adăugați automat completarea la un multiplu de 4 caractere.
  • Întreruperi de linie: Base64 MIME poate include întreruperi de linie; selectați „Ignoră spațiile albe” în timpul decodării pentru a le trata.

Cum se codifică/decodifică Base64 în limbaje de programare

JavaScript
Text → Base64 (sigur pentru UTF-8)
const encoded = btoa(unescape(encodeURIComponent(text)));
// Sigur pentru URL
const urlSafe = encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
Decodare (Base64 → Text)
// Preprocesare: Înlocuire -_ 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, '+/', '-_'), '=');
Decodare (Base64 → Text)
$b64 = strtr($input, '-_', '+/');
// Adăugare automată de '='
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 (eliminare padding)
url_safe = encoded.replace('+','-').replace('/','_').rstrip('=')
Decodare (Base64 → Text)
import base64

def b64_decode(s: str) -> str:
    s = s.replace('-','+').replace('_','/')
    s += '=' * (-len(s) % 4)  # Adăugare automată de '='
    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ă padding)
urlEnc := base64.RawURLEncoding.EncodeToString([]byte(text))
Decodare (Base64 → Text)
import (
    "encoding/base64"
)

decBytes, err := base64.StdEncoding.DecodeString(enc)
// Decodare sigură pentru URL (fără padding)
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ă padding)
let url_enc = general_purpose::URL_SAFE_NO_PAD.encode(text.as_bytes());
Decodare (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ă padding)
String urlEnc = Base64.getUrlEncoder().withoutPadding().encodeToString(text.getBytes(StandardCharsets.UTF_8));
Decodare (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 de Data URI

Încorporați imagini sau fișiere mici ca URL-uri de tip Data URI:

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

Notă: Evitați utilizarea URIs de date pentru fișiere mari, deoarece acestea măresc semnificativ dimensiunea HTML/JSON și reduc performanța.