Encoder / Decoder Base64 Online
Hai bisogno di convertire testo leggibile in formato Base64 per usarlo nelle intestazioni HTTP, o viceversa, di decifrare il contenuto di un token API? Il nostro Base64 Text Encoder & Decoder è uno strumento specializzato per lavorare con stringhe di testo, in grado di gestire anche complessità come diacritici o caratteri speciali.
Stai lavorando con le immagini?
Se il tuo codice inizia condata:image/png...o vuoi convertire un file in testo, questo strumento ti mostrerà solo caratteri privi di senso. Utilizza il nostro strumento specializzato per la conversione in immagine.
Come funziona il formato Base64?
Molte persone usano Base64 quotidianamente, ma pochi sanno come funziona “sotto il cofano”. Non è magia, ma semplice matematica con i bit.
Il testo normale in un computer è memorizzato in gruppi di 8 bit (1 byte). Base64, tuttavia, utilizza un “alfabeto” di 64 caratteri (A-Z, a-z, 0-9, +, /). Poiché 2^6 = 64, un singolo carattere Base64 rappresenta esattamente 6 bit di informazione.
Processo di conversione (Algoritmo):
- Si prendono tre caratteri del tuo testo (3 × 8 bit = 24 bit).
- Questi 24 bit vengono divisi in quattro gruppi di 6 bit.
- Ad ogni gruppo viene assegnato un carattere dalla tabella Base64.
Conseguenza: Poiché trasformiamo 3 caratteri in 4 caratteri, la stringa Base64 risultante è sempre circa il 33% più lunga del testo originale.
Il problema del set di caratteri: Perché i comuni convertitori Base64 “rovinano” l’italiano (e le lingue simili)?
Se hai mai provato a codificare una parola come “Ciao” con un accento o un carattere speciale nella console del browser usando la funzione btoa(), probabilmente hai ottenuto un errore: String contains characters outside of the Latin1 range.
Base64 è stato originariamente progettato per caratteri ASCII a 7 bit. Tuttavia, i caratteri con diacritici, emoji e altri simboli speciali (UTF-8) occupano più byte in memoria (caratteri multibyte).
- Lettera
a= 1 byte. - Lettera
è= 2 byte. - Emoji 🚀 = 4 byte.
Il nostro strumento risolve questo problema. Prima della codifica Base64, convertiamo correttamente il testo in una sequenza di byte UTF-8. In questo modo puoi codificare in modo sicuro oggetti JSON, testi italiani e simboli moderni senza il rischio di corruzione dei dati.
Dove viene utilizzata la codifica testuale Base64?
Mentre le immagini in Base64 servono principalmente per l’inclusione in CSS/HTML, il Base64 testuale ha usi completamente diversi nei sistemi backend:
1. Autenticazione HTTP Basic
Quando ti autentichi a un’API, l’intestazione spesso appare così:
Authorization: Basic dXppdmF0ZWw6aGVzbG8=
Dietro a questo codice si nasconde semplicemente un nome utente e una password combinati nel formato utente:password. Il nostro strumento ti permette di generare o controllare facilmente queste intestazioni.
2. JSON Web Tokens (JWT)
Le moderne applicazioni web utilizzano i cosiddetti JWT per l’autenticazione. Un token di questo tipo appare come tre lunghe stringhe separate da un punto. La parte contenente i dati (Payload) è un semplice oggetto JSON codificato in Base64.
- Suggerimento: Prova a incollare qui la parte centrale del tuo token JWT e a decodificarla. Vedrai esattamente quali dati l’applicazione tiene su di te (ad es. ID utente, scadenza).
3. File di configurazione (Kubernetes Secrets)
Piattaforme come Kubernetes memorizzano dati segreti (Secrets) nei file di configurazione YAML proprio in Base64. Non si tratta di crittografia, ma di un modo per memorizzare dati binari o testo con caratteri problematici (nuove righe, virgolette) in un file di testo.
Cos’è la “codifica Base64 URL Safe” e perché è importante?
L’alfabeto Base64 standard include i caratteri + (più) e / (barra). Entrambi questi caratteri hanno un significato speciale negli indirizzi URL:
/separa le directory.+viene spesso interpretato come uno spazio.
Se inviassi un Base64 standard in un parametro URL (ad es. site.com?token=ab/cd+ef), il server potrebbe interpretare i dati in modo errato.
Soluzione (Modalità URL Safe): Il nostro interruttore attiva la variante Base64URL (secondo RFC 4648), che esegue queste modifiche:
+viene cambiato in-(trattino)./viene cambiato in_(sottolinea).- Alla fine, i caratteri
=(padding) vengono rimossi, poiché non sono necessari nell’URL.
Mito: Base64 non è crittografia!
È importante capire una differenza fondamentale che i principianti spesso confondono:
- Codifica (Encoding - Base64): Serve per la trasmissione dei dati. È come impacchettare qualcosa in una valigia per non romperla durante il viaggio. Chiunque trovi la valigia può aprirla (decodificarla) e vederne il contenuto. Non è sicuro per i dati segreti.
- Crittografia (Encryption - AES, RSA): Blocca i dati con una chiave. Senza la chiave non è possibile accedere al contenuto.
- Hashing (Hashing - SHA, MD5): Un processo unidirezionale (ad es. per la memorizzazione delle password). Dal risultato non è possibile ottenere il testo originale.
Se hai bisogno di inviare una password o un dato sensibile, il solo Base64 non è sufficiente. Devi usare HTTPS (SSL/TLS), che cripta la trasmissione.