In questo articolo
Cos'è Base64?
Base64 è uno schema di codifica che converte dati binari in una stringa di caratteri ASCII. Utilizza 64 caratteri sicuri (A-Z, a-z, 0-9, +, /) per rappresentare qualsiasi dato binario, rendendolo adatto alla trasmissione attraverso protocolli basati su testo come gli header HTTP, la posta elettronica (MIME) e JSON.
Base64 non è cifratura, ma codifica. Chiunque può decodificare Base64 per ottenere i dati originali senza alcuna chiave. Lo scopo di Base64 è consentire ai dati binari di transitare attraverso sistemi progettati per il testo, non fornire sicurezza.
Come funziona la codifica Base64
Base64 converte ogni gruppo di 3 byte (24 bit) in 4 caratteri Base64 (6 bit ciascuno), aggiungendo il carattere = come padding se l'input non è divisibile per 3.
- Raggruppamento dei byte — i byte di input vengono raggruppati in blocchi da 3 e convertiti in 4 caratteri di output
- Mappatura dei caratteri — ogni gruppo da 6 bit corrisponde a uno dei 64 caratteri ASCII stampabili
- Padding — vengono aggiunti caratteri = per garantire che la lunghezza dell'output sia sempre un multiplo di 4
Prova gratuitamente — nessuna registrazione richiesta
Codifica o decodifica in Base64 →Quando usare Base64
Base64 viene utilizzato ogni volta che i dati binari devono essere incorporati in formati basati su testo.
- Allegati email — la codifica MIME usa Base64 per allegare file binari ai messaggi di posta elettronica
- Data URI — incorpora immagini direttamente in HTML/CSS come data:image/png;base64,... per evitare richieste HTTP
- Autenticazione API — le credenziali di Basic Auth sono codificate in Base64 nell'header HTTP Authorization
Domande frequenti
Base64 aumenta la dimensione dei dati?
Sì. La codifica Base64 aumenta la dimensione di circa il 33%, poiché ogni 3 byte di input producono 4 byte di output. Questo è il compromesso intrinseco del rendere i dati binari sicuri per i sistemi di testo.
Qual è la differenza tra Base64 standard e Base64 URL-safe?
Il Base64 standard utilizza + e /, che hanno significati speciali negli URL. Il Base64 URL-safe (Base64url) sostituisce + con - e / con _ per produrre stringhe utilizzabili negli URL e nei nomi di file senza necessità di percent-encoding. I JWT usano la codifica Base64url.
Come gestisco Base64 con dati non UTF-8?
Base64 opera su byte grezzi, non su testo. Quando si codificano dati binari come immagini o contenuti cifrati, trattali come array di byte anziché come stringhe. In JavaScript usa Uint8Array o Buffer; in Python usa oggetti bytes per evitare problemi di codifica con dati non UTF-8.