Vai al contenuto principale
riqo.ioStrumenti per grandi idee

Codifica e decodifica Base64

Codifica testo UTF-8 in Base64 standard o decodifica Base64 valido in testo.

Operazione

Nota

Base64 è una codifica, non una cifratura.

Risultato

Descrizione

Trasforma esclusivamente testo UTF-8 e Base64 standard. Non gestisce upload di file, varianti URL-safe o dati binari arbitrari.

Istruzioni

Scegli Codifica per ottenere Base64 dal testo oppure Decodifica per recuperare testo UTF-8. Input Base64 malformato viene rifiutato.

Casi d’uso

Trasportare testo in un formato ASCII

Leggere payload Base64 testuali

Verificare una codifica Base64 standard

Esempi

Testo semplice

Input

Oriqo

Output

T3JpcW8=

Domande frequenti

È una cifratura?

No. Base64 è una codifica reversibile e non offre riservatezza.

Supporta file?

No. La V1 accetta solo testo UTF-8.

Guida di approfondimento

Base64: codifica binaria in formato testuale

Come Base64 trasforma byte in testo ASCII, perché aumenta la dimensione e quali varianti usare nei diversi protocolli.

Perché esiste Base64

Molti protocolli e formati storicamente gestiscono in modo più affidabile testo che byte arbitrari. Base64 rappresenta dati binari usando un alfabeto ASCII ristretto, così il contenuto può attraversare canali testuali senza essere interpretato come controllo o delimitatore.

La codifica non comprime e non nasconde i dati. È una trasformazione reversibile della rappresentazione, utile per compatibilità e trasporto, non una misura di sicurezza.

Blocchi da 24 bit e alfabeto da 64 simboli

Base64 legge tipicamente tre byte, cioè 24 bit, e li divide in quattro gruppi da 6 bit. Ogni gruppo seleziona uno dei 64 simboli dell'alfabeto, producendo quattro caratteri testuali per tre byte di input.

Da questa proporzione deriva un overhead di circa un terzo, a cui possono aggiungersi padding, interruzioni di riga o contenitori di protocollo. Per file grandi è quindi spesso preferibile un trasporto binario nativo.

Padding e lunghezze non multiple di tre

Se gli ultimi dati non completano tre byte, la codifica standard usa uno o due caratteri = come padding per mantenere blocchi di quattro simboli. Il padding segnala quanti byte significativi erano presenti nell'ultimo blocco.

Alcuni protocolli omettono il padding quando la lunghezza può essere ricostruita dal contesto. Encoder e decoder devono concordare la variante, soprattutto quando i dati vengono firmati o confrontati in forma testuale.

Base64 standard e Base64url

L'alfabeto standard usa + e /, caratteri scomodi in URL e filename. Base64url li sostituisce con - e _, riducendo la necessità di ulteriori escaping in contesti web.

Le due varianti rappresentano gli stessi bit ma non sono sempre intercambiabili come stringhe. È buona pratica documentare alfabeto e policy del padding in ogni confine tra sistemi.

Testo, UTF-8 e dati binari

Quando si codifica una stringa, Base64 non lavora direttamente sui caratteri astratti ma sui byte prodotti dall'encoding, normalmente UTF-8. La stessa sequenza di caratteri codificata con encoding differenti può quindi generare Base64 differente.

Per immagini, archivi o chiavi il dato è già binario e non serve interpretarlo come testo. Dopo la decodifica, i byte vanno trattati secondo il formato originario e non automaticamente come UTF-8.

Cosa Base64 non garantisce

Chiunque disponga della stringa può decodificarla: non offre confidenzialità, autenticità o integrità. Per proteggere dati servono primitive crittografiche appropriate, come cifratura autenticata o MAC.

Evita inoltre catene di codifica ripetute senza necessità. Specifica chiaramente il formato a monte e a valle e usa Base64 solo quando il canale richiede una rappresentazione testuale dei byte.

Apri la guida completa