Codificatore / Decodificatore Base64
Codificatore e decodificatore Base64 online gratuito. Codifica testo o file in Base64 o decodifica Base64 in testo leggibile.
Trascina file o Sfoglia
Privato e sicuro
Elaborazione completamente locale. I dati non vengono mai caricati su server.
Supporto file
Converti facilmente immagini, documenti o file binari in stringa Base64.
Pronto offline
Funziona senza connessione internet dopo il caricamento.
Domande frequenti
Cos'è la codifica Base64 e a cosa serve?
Base64 è uno schema di codifica da binario a testo che converte i dati binari in un formato di stringa ASCII utilizzando 64 caratteri (A-Z, a-z, 0-9, +, /). Viene utilizzato principalmente per trasmettere dati binari su protocolli basati su testo come HTTP, SMTP, o in payload JSON. Le applicazioni comuni includono allegati email tramite MIME, incorporamento di immagini in HTML e CSS come data URL, codifica di payload nei JSON Web Token (JWT) e memorizzazione di dati binari in colonne di database basate su testo.
Base64 è una forma di crittografia? È sicuro?
No. Base64 è uno schema di codifica, non crittografia. Chiunque abbia una stringa codificata in Base64 può decodificarla di nuovo nei dati originali all'istante, senza bisogno di alcuna chiave, password o segreto. Non fornisce riservatezza, integrità né autenticazione. Pensalo come un modo per rappresentare gli stessi dati in un formato diverso — come tradurre dall'inglese al codice Morse. Se devi proteggere dati sensibili, usa prima un algoritmo di crittografia appropriato (come AES) e poi, facoltativamente, codifica i byte crittografati con Base64 per il trasporto.
Perché Base64 a volte termina con i segni = o ==?
Il carattere = è il padding. Base64 elabora i dati di input in gruppi di 3 byte (24 bit), producendo 4 caratteri Base64 per gruppo. Quando la lunghezza dell'input non è un multiplo di 3 byte, la codifica aggiunge caratteri di padding = per rendere l'output un multiplo di 4 caratteri. Viene aggiunto un = quando rimangono 2 byte e due caratteri = quando rimane solo 1 byte. Ad esempio, "Man" (3 byte) si codifica in "TWFu" senza padding, ma "Ma" (2 byte) si codifica in "TWE=" e "M" (1 byte) si codifica in "TQ==".
Base64 rende i dati più grandi? Quanto overhead aggiunge?
Sì, la codifica Base64 aumenta la dimensione dei dati di circa il 33%. Per ogni 3 byte di input binario, l'output è di 4 byte, più un eventuale padding. Quindi un file binario da 3 MB diventa all'incirca 4 MB quando viene codificato in Base64. Questo è il compromesso per poter trasmettere dati binari su canali solo testo. Rispetto ad altre codifiche da binario a testo, Base64 è relativamente efficiente — la codifica esadecimale, ad esempio, aggiunge un overhead del 100%.
Qual è la differenza tra Base64 standard e Base64url?
Base64 standard usa + e / nel suo alfabeto e = per il padding. Base64url (Base64 sicuro per gli URL) sostituisce + con - e / con _, e di solito omette il padding. Questo rende Base64url sicuro per l'uso in URL, parametri di query e nomi di file, senza bisogno di ulteriore percent-encoding. Base64url è definito nella RFC 4648 ed è ampiamente utilizzato nei JSON Web Token (JWT), nei token OAuth e nelle API web. Ad esempio, una stringa Base64 standard come Pj4+Pz8/Pw== diventa Pj4-Pz8_Pw in Base64url.
Cos'è un data URL Base64 e come viene usato in HTML e CSS?
Un data URL è uno schema URI che incorpora i dati direttamente in un documento web. Per le immagini, il formato è data:image/png;base64,iVBORw0KGgo.... Può essere usato al posto di un URL di file nei tag HTML <img> e nelle proprietà CSS background-image. I data URL eliminano la necessità di una richiesta HTTP separata per caricare l'immagine, il che può migliorare le prestazioni per risorse di piccole dimensioni (tipicamente sotto i 10 KB). Tuttavia, aumentano la dimensione dei file HTML/CSS di circa il 33% e impediscono al browser di memorizzare nella cache l'immagine in modo indipendente.
Si può convertire qualsiasi file in Base64?
Sì — qualsiasi dato binario, che si tratti di testo, un'immagine, audio, video, un PDF o un archivio compresso, può essere codificato in Base64. Il processo è lo stesso: si leggono i byte grezzi del file e si applica l'algoritmo di codifica Base64. Quando decodifichi la stringa Base64, ottieni indietro esattamente i byte originali. È così che funzionano gli allegati email — il file binario viene codificato in Base64 prima di essere inviato tramite SMTP e decodificato di nuovo nel file originale sul lato ricevente.
Come gestisco i caratteri Unicode (come emoji o testo cinese) quando codifico in Base64 in JavaScript?
La funzione integrata btoa() funziona solo con caratteri Latin-1 (caratteri a un byte). Per stringhe Unicode contenenti emoji, caratteri cinesi o altri caratteri multibyte, devi prima convertire in byte utilizzando l'API TextEncoder: In Node.js, la classe Buffer gestisce nativamente Unicode: Buffer.from('Hello 你好 🚀').toString('base64') funziona senza alcuna gestione speciale.