Che cos’è il Base64
Con la codifica e decodifica Base64 puoi scrivere qualsiasi dato usando solo 64 caratteri sicuri e poi riportarlo alla forma originale. I caratteri sono le lettere dalla A alla Z e dalla a alla z, le cifre da 0 a 9 e i simboli + e /. È nata per i sistemi che possono trasportare solo testo semplice, come la posta elettronica e alcuni moduli web. Con il Base64 un’immagine, un PDF o un testo in qualsiasi lingua attraversano questi sistemi senza rovinarsi.
Il Base64 si incontra in molti posti: allegati email, immagini incorporate nel CSS come data URL, JSON Web Token, chiavi API, intestazioni di autenticazione HTTP di base e file di configurazione.
Come usare questo strumento Base64
Codificare testo. Scrivi o incolla il testo nel riquadro Testo. Il Base64 compare nel riquadro di destra mentre scrivi. Premi Copia per prenderlo.
Decodificare Base64. Incolla il Base64 nel riquadro Base64 a destra. Il testo originale compare a sinistra. Spazi, a capo, riempimento mancante e il prefisso data:...;base64, sono tutti accettati.
Opzioni.
- Sicuro per URL (- e _) sostituisce
+con-e/con_e toglie il riempimento=. Usalo per link, cookie e nomi di file. - A capo ogni 76 caratteri divide l’output in righe di 76 caratteri, l’impaginazione usata nelle email (MIME).
Cancella svuota entrambi i riquadri.
Da file a Base64. Scegli un file fino a 25 MB. Seleziona Solo Base64 per la stringa pura o Data URL per un valore pronto all’uso come data:image/png;base64,.... Poi premi Copia.
Da Base64 a file. Incolla del Base64 o un data URL. Lo strumento riconosce i tipi più comuni come PNG, JPEG, GIF, WebP, PDF e ZIP, propone un nome per il file e mostra un’anteprima per le immagini. Premi Scarica file per salvarlo.
Come funziona il Base64
Il Base64 legge l’input tre byte (24 bit) alla volta. Divide quei 24 bit in quattro gruppi da 6 bit. Ogni gruppo da 6 bit è un numero da 0 a 63, e quel numero sceglie un carattere dell’alfabeto Base64. Entrano tre byte, escono quattro caratteri. Per questo l’output Base64 è circa un terzo più grande dell’input.
Il testo viene prima trasformato in byte con UTF-8. È per questo che lettere accentate ed emoji funzionano: café diventa 5 byte, e sono quei byte a essere codificati. Allo stesso modo perché diventa cGVyY2jDqQ==, perché la é finale occupa due byte. Alcuni strumenti più vecchi usano direttamente la funzione del browser btoa, che si blocca con qualsiasi carattere al di fuori del Latin-1.
Esempi
| Input | Base64 | Sicuro per URL |
|---|---|---|
M |
TQ== |
TQ |
Ma |
TWE= |
TWE |
Man |
TWFu |
TWFu |
Hello, World! |
SGVsbG8sIFdvcmxkIQ== |
SGVsbG8sIFdvcmxkIQ |
café |
Y2Fmw6k= |
Y2Fmw6k |
Zoë |
Wm/Dqw== |
Wm_Dqw |
<?> |
PD8+ |
PD8- |
Le ultime due righe mostrano perché esiste la forma sicura per URL. Una / o un + dentro un link possono romperlo, mentre _ e - sono sicuri.
Consigli e limiti
- Il Base64 non è sicurezza. Non nasconde nulla. Tratta il testo Base64 come i dati originali.
- Leggi il messaggio di errore. Se incolli qualcosa con un carattere come
*, lo strumento ti dice quale carattere non è Base64 valido. - I dati binari richiedono un file. Se i byte decodificati non sono testo UTF-8 valido, lo strumento te lo segnala. Incolla lo stesso Base64 in Da Base64 a file e scaricalo.
- Le dimensioni crescono. Un’immagine da 3 MB diventa circa 4 MB di Base64. I data URL incorporati sono comodi per piccole icone ma rallentano con le foto grandi.
- In decodifica il riempimento è facoltativo. Lo strumento aggiunge da solo i segni
=mancanti.
Altri modi per codificare in Base64
Riga di comando (macOS e Linux). echo -n 'Hello, World!' | base64 stampa SGVsbG8sIFdvcmxkIQ==. Usa base64 -d (o base64 -D sulle versioni meno recenti di macOS) per decodificare. Se ometti -n, codifichi anche l’a capo finale.
Windows. certutil -encode input.txt output.txt codifica un file. In PowerShell, [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('Hello, World!')) codifica del testo.
JavaScript (Node). Buffer.from('Hello, World!').toString('base64') restituisce SGVsbG8sIFdvcmxkIQ==, e Buffer.from('SGVsbG8=', 'base64').toString() restituisce Hello.
Python. base64.b64encode('Hello, World!'.encode()).decode() dà lo stesso risultato. Nota che base64.urlsafe_b64encode mantiene il riempimento =, quindi Zoë diventa Wm_Dqw==.
Strumenti correlati
Per rendere un testo sicuro dentro un indirizzo web, usa la codifica e decodifica URL. Per vedere i byte grezzi dietro il tuo testo, prova il convertitore da esadecimale a testo o lo strumento di codifica UTF-8.