Skip to main content
CheckTown
Dev Tools

Codifica e decodifica Base64: La guida completa dello sviluppatore

Pubblicato 5 min di lettura
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.

Strumenti correlati