Codificatore/Decodificatore Base64
Un codificatore/decodificatore Base64 online gratuito per una rapida codifica e decodifica, dotato di gestione UTF-8 safe, conversione URL-safe, padding automatico, statistiche in tempo reale e funzione di copia sicura. Fornisce esempi di codice multilingue, generazione di Data URI, guide dettagliate all'uso e domande frequenti. Interfaccia intuitiva con riempimento bidirezionale dei campi, accessibilità da tastiera e design ottimizzato per dispositivi mobili. Nessun download richiesto, funziona direttamente nel tuo browser.
Codifica (Testo → Base64)
Decodifica (Base64 → Testo)
Come si usa
Funzionalità
- Sicuro con UTF-8: Gestisce correttamente i caratteri non ASCII (avvolto con encodeURIComponent/unescape).
- Supporto URL-safe: Alternativa con un clic tra + / → - _, rimozione opzionale del padding =.
- Pre-elaborazione prima della decodifica: Ignora gli spazi bianchi, converte automaticamente in formato URL-safe e aggiunge automaticamente il padding =.
- Interazione in tempo reale: L'input viene elaborato istantaneamente, con visualizzazione delle statistiche su lunghezza e tasso di crescita.
- Usabilità: Copia rapida, riempimento bidirezionale tra input, accessibile da tastiera, ottimizzato per dispositivi mobili.
- Tema coerente: Nessuna classe Tailwind dark: — stile completo con temi DaisyUI.
Cos'è il Base64?
Base64 è un metodo per codificare dati binari in testo ASCII, comunemente usato per trasmettere immagini o contenuti di file tramite protocolli basati su testo come JSON, XML e HTTP.
Mappa ogni 3 byte in 4 caratteri stampabili, causando tipicamente un aumento di dimensione di circa il 33%.
Il Base64 standard utilizza A–Z, a–z, 0–9, +, / e il carattere di padding =; la variante URL-safe sostituisce + e / con - e _ per evitare problemi di escape negli URL.
Casi d'uso comuni
- Incorpora immagini o piccoli file come Data URI.
- Trasferisci dati binari tra client e server (ad es. testi cifrati, flussi compressi).
- Converti il testo in un formato stampabile per evitare incongruenze di codifica o caratteri invisibili.
FAQ e note importanti
- Set di caratteri: Negli ambienti web, codifica prima il testo in UTF-8 (questo strumento include automaticamente questo passaggio).
- URL-safe: Per parametri o percorsi URL, preferisci la variante URL-safe e valuta la rimozione dei caratteri di padding.
- Padding: Alcune implementazioni consentono di omettere =; durante la decodifica, aggiungi automaticamente il padding fino a un multiplo di 4 caratteri.
- A capo: Il MIME Base64 può includere a capo; seleziona "Ignora spazi bianchi" durante la decodifica per gestirli.
Come codificare/decodificare Base64 nei linguaggi di programmazione
const encoded = btoa(unescape(encodeURIComponent(text)));
// Sicuro per URL
const urlSafe = encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
// Pre-elaborazione: sostituisci -_ con +/
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)));
$encoded = base64_encode($text);
// Sicuro per URL
$urlSafe = rtrim(strtr($encoded, '+/', '-_'), '=');
$b64 = strtr($input, '-_', '+/');
// Aggiungi automaticamente '='
if (strlen($b64) % 4 !== 0) $b64 .= str_repeat('=', 4 - (strlen($b64) % 4));
$text = base64_decode($b64);
import base64
encoded = base64.b64encode(text.encode('utf-8')).decode('ascii')
# Codifica sicura per URL (rimuovi padding)
url_safe = encoded.replace('+','-').replace('/','_').rstrip('=')
import base64
def b64_decode(s: str) -> str:
s = s.replace('-','+').replace('_','/')
s += '=' * (-len(s) % 4) # Aggiungi automaticamente '='
return base64.b64decode(s).decode('utf-8')
import (
"encoding/base64"
)
enc := base64.StdEncoding.EncodeToString([]byte(text))
// Codifica sicura per URL (senza padding)
urlEnc := base64.RawURLEncoding.EncodeToString([]byte(text))
import (
"encoding/base64"
)
decBytes, err := base64.StdEncoding.DecodeString(enc)
// Decodifica sicura per URL (senza padding)
decURL, err2 := base64.RawURLEncoding.DecodeString(urlEnc)
use base64::{engine::general_purpose, Engine as _};
let enc = general_purpose::STANDARD.encode(text.as_bytes());
// Codifica sicura per URL (senza padding)
let url_enc = general_purpose::URL_SAFE_NO_PAD.encode(text.as_bytes());
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();
import java.nio.charset.StandardCharsets;
import java.util.Base64;
String enc = Base64.getEncoder().encodeToString(text.getBytes(StandardCharsets.UTF_8));
// Codifica sicura per URL (senza padding)
String urlEnc = Base64.getUrlEncoder().withoutPadding().encodeToString(text.getBytes(StandardCharsets.UTF_8));
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);