Codificatore/Decodificatore Base64

Pubblicità

Inserire testo o caricare un file per codificare in Base64, oppure incollare Base64 per decodificare.

Input
Trascinare il file qui o fare clic per sfogliare
Output

Come usare

  1. Scegliere la modalità Testo o File, poi inserire testo da codificare o incollare Base64 da decodificare.
  2. Selezionare Codifica o Decodifica, e opzionalmente abilitare la modalità URL-safe o il prefisso Data URI per le immagini.
  3. Copiare il risultato codificato/decodificato o scaricare l'output. Condividere tramite link per preservare il proprio input.
Questo strumento ti è stato utile?
Vuoi dirci di più?
0/500
Vuoi che ti ricontattiamo?
Grazie per il tuo feedback!
Pubblicità

Informazioni su questo strumento

Base64 è uno schema di codifica binario-a-testo che rappresenta i dati binari utilizzando un set di 64 caratteri ASCII stampabili. Il set di caratteri include lettere maiuscole (A-Z), lettere minuscole (a-z), cifre (0-9) e due simboli aggiuntivi (+ e /), con il segno di uguale (=) usato come carattere di riempimento. Questo metodo di codifica è stato progettato per garantire che i dati binari possano essere trasmessi in modo sicuro attraverso canali di comunicazione che supportano solo testo, senza corruzione o perdita di dati. Lo standard di codifica Base64 è formalmente definito nell'RFC 4648 (pubblicato nel 2006), che ha sostituito il precedente RFC 3548. Tuttavia, le radici di Base64 sono molto più profonde, originandosi dallo standard MIME (Multipurpose Internet Mail Extensions) pubblicato nel 1996. MIME necessitava di un modo affidabile per allegare file binari come immagini, documenti ed eseguibili ai messaggi email, che erano originariamente progettati per trasportare solo testo ASCII a 7 bit. Base64 divenne la soluzione che rese possibili gli allegati email moderni. La codifica Base64 è essenziale ogni volta che i dati binari devono passare attraverso sistemi che supportano solo testo. L'email rimane uno dei casi d'uso più comuni, ma lo sviluppo web ha ampliato significativamente il ruolo di Base64. I Data URI permettono agli sviluppatori di incorporare immagini, font e altre risorse direttamente in HTML e CSS usando stringhe Base64, eliminando richieste HTTP aggiuntive e migliorando le prestazioni di caricamento per risorse di piccole dimensioni. Nello sviluppo di API, l'autenticazione HTTP Basic codifica le credenziali usando Base64, e i JSON Web Token (JWT) usano la codifica Base64url per i segmenti di intestazione e payload. Questo strumento implementa sia il Base64 standard che la variante URL-safe definita nell'RFC 4648 Sezione 5, che sostituisce + con - e / con _ per evitare conflitti con i caratteri speciali degli URL. Tutte le operazioni vengono eseguite interamente nel browser tramite JavaScript, garantendo che i dati non lascino mai il dispositivo.

Fonti: IETF

La Scienza e la Storia della Codifica Base64

Il fondamento matematico di Base64 risiede nella conversione di base—lo stesso principio usato nella conversione tra sistemi numerici decimale, binario ed esadecimale. Base64 usa una base di 64, il che significa che ogni posizione di carattere può rappresentare uno dei 64 valori distinti. Poiché 64 è uguale a 2 elevato alla potenza di 6, ogni carattere Base64 codifica esattamente 6 bit di informazione, creando un allineamento elegante tra dati binari e caratteri stampabili. La scelta di 64 come base fu deliberata. È la più grande potenza di due che produce caratteri interamente nel range ASCII stampabile (codici 32-126), massimizzando la densità informativa rimanendo compatibile con i sistemi testuali. Schemi precedenti sperimentarono con Base16 (esadecimale, 4 bit per carattere) e Base32 (5 bit per carattere), ma erano meno efficienti. Base64 raggiunge un equilibrio quasi ottimale, codificando 6 degli 8 bit per carattere per un rapporto di efficienza del 75%. La storia di Base64 risale allo standard Privacy Enhanced Mail (PEM) del 1987, che specificò per la prima volta una codifica a 64 caratteri per l'email. Lo standard MIME adottò e perfezionò questo nel 1996, stabilendo l'alfabeto di caratteri ancora usato oggi. RFC 2045 codificò la versione MIME, mentre RFC 4648 (pubblicato nel 2006) consolidò Base64 insieme a Base32 e Base16 in un unico documento di riferimento, aggiungendo la variante URL-safe dell'alfabeto. Le applicazioni moderne hanno esteso Base64 ben oltre le sue origini email. I JSON Web Token usano la codifica Base64url per rappresentare i claim in un formato compatto e URL-safe. Le source map nella minificazione JavaScript codificano le mappature dei file usando uno schema Base64 a lunghezza variabile chiamato VLQ. Persino il sistema di controllo versione git usa Base64 internamente durante la trasmissione di patch binarie. La codifica rimane uno degli schemi di trasformazione dati più diffusi nella storia dell'informatica.

Metodologia

La codifica Base64 converte i dati binari in un sottoinsieme ASCII di 64 caratteri (A-Z, a-z, 0-9, +, /). L'algoritmo elabora l'input in blocchi di tre byte (24 bit), suddividendo ogni blocco in quattro gruppi di 6 bit. Ogni gruppo di 6 bit viene mappato su uno dei 64 caratteri dell'alfabeto di codifica, producendo quattro caratteri di output per ogni tre byte di input. Questo comporta una dimensione dell'output circa il 33% superiore rispetto all'input. Quando la lunghezza dell'input non è un multiplo di tre byte, vengono aggiunti caratteri di padding (=) per mantenere il corretto allineamento a quattro caratteri. Questo strumento utilizza la funzione btoa() integrata di JavaScript per la codifica e atob() per la decodifica dei dati testuali. Per i caratteri non-ASCII come lettere accentate, emoji o ideogrammi CJK, il testo viene prima convertito in una sequenza di byte UTF-8 tramite TextEncoder prima della codifica Base64. La codifica dei file sfrutta l'API FileReader per leggere i dati binari direttamente come ArrayBuffer, convertendo poi l'array di byte in una stringa Base64 carattere per carattere. La variante URL-safe sostituisce + con - e / con _ come specificato nell'RFC 4648 Sezione 5, rendendo l'output sicuro per l'uso in URL e nomi di file senza escape aggiuntivo.

Fonti: IETF

Capire i tuoi risultati

Usare Base64 per incorporare immagini in CSS/HTML tramite Data URI con il formato 'data:mime/type;base64,...'. Questo elimina le richieste HTTP aggiuntive per risorse piccole come icone e loghi, migliorando le prestazioni di caricamento iniziale. Per le API JSON, Base64 consente di trasmettere payload binari come miniature, firme o allegati di documenti all'interno di strutture JSON testuali. L'output codificato è sempre circa il 33% più grande dell'input originale perché tre byte di dati si espandono in quattro caratteri Base64. Tenere presente questo overhead quando si incorporano file di grandi dimensioni, poiché l'aumento di dimensione può superare il vantaggio di meno richieste HTTP. Per immagini più grandi di pochi kilobyte, servirle come file separati è solitamente più efficiente. Un input Base64 non valido—contenente caratteri al di fuori dell'alfabeto consentito o padding errato—produrrà un errore di decodifica. Se si riscontrano errori, controllare spazi bianchi accidentali, interruzioni di riga o artefatti da copia-incolla. Ricordare che Base64 è uno schema di codifica, non crittografia. Chiunque può decodificare una stringa Base64 istantaneamente, quindi non va mai usato per proteggere informazioni sensibili come password, chiavi API o dati personali.

Esempi pratici

Incorporare un piccolo logo in CSS: si codifica un file PNG con l'opzione Data URI abilitata, poi si usa il risultato come background-image: url('data:image/png;base64,...') per eliminare una richiesta HTTP. Header di autenticazione API: si codifica 'username:password' in Base64 per HTTP Basic Auth, producendo l'header Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=. Archiviare dati binari in JSON: si codifica un PDF o un'immagine allegata in Base64, poi lo si include come campo stringa nel payload JSON per la trasmissione attraverso API testuali. Sistemi email: la codifica MIME allega file binari ai messaggi convertendoli in Base64, ecco perché gli allegati inoltrati appaiono talvolta come lunghe stringhe Base64. Ispezione token JWT: si divide un JWT sui due punti separatori, poi si decodificano i primi due segmenti (header e payload) da Base64url per leggere i claim del token senza una libreria JWT dedicata.

Consigli e Buone Pratiche

Conviene usare la variante URL-safe ogni volta che l'output Base64 apparirà in URL, parametri di query o nomi di file. I caratteri Base64 standard + e / entrano in conflitto con i delimitatori URL e possono causare corruzione silenziosa dei dati se non gestiti correttamente. Per lo sviluppo web, conviene abilitare il prefisso Data URI quando si codificano immagini inferiori a 5-10 KB. Questo incorpora l'immagine direttamente nell'HTML o nel CSS, risparmiando un round-trip HTTP. Per immagini più grandi, l'overhead del 33% di Base64 rende più efficiente servire file separati. Quando la decodifica fallisce, occorre controllare spazi bianchi finali, interruzioni di riga o caratteri di padding mancanti. Molti sistemi rimuovono o aggiungono spazi quando si copiano stringhe Base64. Se il testo è stato incollato da un'email o da un documento, potrebbero essere stati introdotti caratteri invisibili. Per il debugging delle API, si possono decodificare i token JWT dividendoli per punti e decodificando ogni segmento separatamente. I segmenti header e payload usano la codifica Base64url, quindi conviene abilitare prima l'opzione URL-safe.

Tutti i calcoli vengono eseguiti localmente nel tuo browser. Nessun dato viene inviato a un server.

Incorpora questo strumento

Ottieni il codice

Domande frequenti

A cosa serve la codifica Base64?
Base64 converte i dati binari in testo ASCII, rendendoli sicuri per la trasmissione attraverso sistemi che gestiscono solo dati testuali. Comunemente usato per incorporare immagini in HTML/CSS, inviare dati binari nelle API JSON e codificare allegati email.
Cos'è il Base64 URL-safe?
Il Base64 standard usa i caratteri + e / che hanno un significato speciale negli URL e possono causare problemi. Il Base64 URL-safe li sostituisce con - e _, rendendolo sicuro per l'uso in URL e nomi di file.
Posso codificare file come immagini?
Sì! Passare alla modalità File e caricare qualsiasi file per convertirlo in Base64. Per le immagini, è possibile abilitare il prefisso Data URI per incorporarle direttamente in HTML o CSS.
C'è un limite di dimensione per la codifica?
Poiché tutta l'elaborazione avviene nel browser, il limite dipende dalla memoria disponibile del dispositivo. Lo strumento funziona in modo affidabile per file fino a diverse decine di megabyte.
I miei dati sono privati quando uso questo strumento?
Sì, completamente. Tutta la codifica e decodifica Base64 avviene interamente nel browser tramite JavaScript. I dati non vengono mai inviati a nessun server o terze parti. Questo rende lo strumento sicuro per codificare informazioni sensibili come chiavi API, token di autenticazione o documenti riservati.
La codifica Base64 è la stessa cosa della crittografia?
No, Base64 è uno schema di codifica, non crittografia. Trasforma i dati in una rappresentazione diversa ma non fornisce sicurezza — chiunque può decodificarlo istantaneamente. Base64 è progettato per il trasporto sicuro dei dati, non per la riservatezza. Per proteggere dati sensibili, usare algoritmi di crittografia come AES prima di codificare opzionalmente l'output in Base64.