Menu

Codificatore / decodificatore Base64

Codifica o decodifica all'istante stringhe e file Base64.

Di Nethanel Bar, Co-founder & CEO

Ultimo aggiornamento

Vuoi imparare a programmare sul serio?

Coddy ti insegna facendoti scrivere codice vero nel browser: lezioni interattive, feedback immediato e aiuto dall'AI quando ti blocchi.

Cos'è Base64?

Base64 è uno schema di codifica che rappresenta dati binari usando 64 caratteri stampabili. Gli sviluppatori lo usano ogni volta che un sistema che gestisce solo testo deve trasportare byte: piccole immagini incorporate nell'HTML, token, allegati email, URL data, segreti copiati nei log e campi JSON che contengono blob binari.

Base64 è una *codifica*, non una crittografia. Decodificare una stringa Base64 di solito rivela subito il contenuto originale, quindi non va mai considerata una protezione di sicurezza. Tutto ciò che sta dentro un Base64 è di fatto pubblico, a meno che non sia stato cifrato *prima* della codifica.

Dietro le quinte, Base64 prende 3 byte (24 bit) e li riscrive come 4 caratteri presi da un alfabeto fisso di 64 caratteri (da A a Z, da a a z, da 0 a 9, +, /). Quando la lunghezza dell'input non è un multiplo di 3, il codificatore aggiunge uno o due caratteri = alla fine come riempimento. Ecco perché le stringhe Base64 finiscono spesso con =.

Cosa imparerai usando Base64

  • La codifica cambia il modo in cui i dati sono rappresentati; non li nasconde né li protegge: chiunque può decodificarli.
  • L'output Base64 è grande circa 4/3 dei byte originali, quindi è comodo ma non efficiente in termini di spazio.
  • I caratteri di riempimento come = completano l'ultimo gruppo di 4 e sono normali in molte stringhe Base64.
  • Esistono due varianti collegate: il Base64 standard (usa + e /) e il Base64URL (usa - e _, così è sicuro negli URL e nei JWT).

Come codificare e decodificare Base64 passo dopo passo

  1. Scegli una direzione

    Scegli Codifica se hai testo semplice o un file e vuoi l'output in Base64. Scegli Decodifica se hai una stringa Base64 e vuoi riavere il contenuto originale.

  2. Incolla l'input o trascina un file

    Incolla una stringa nella casella di testo, oppure trascina un file (immagine, PDF, qualsiasi cosa) nell'area di rilascio. I file vengono convertiti in un URL data: pronto da incorporare in HTML o CSS.

  3. Leggi l'output

    L'output codificato è la stringa Base64. L'output decodificato è il testo originale oppure, se l'input era un file, i byte recuperati mostrati come link per il download.

  4. Copia il risultato

    Clicca il pulsante di copia per mettere il risultato negli appunti. Tutto gira nel tuo browser, quindi l'input non lascia mai il tuo computer.

Base64 in breve

Gli elementi che incontrerai di continuo lavorando con Base64, definiti dalla RFC 4648.

ElementoSignificatoEsempio
Alfabeto64 caratteri usati dal Base64 standardA–Z, a–z, 0–9, +, /
Alfabeto sicuro per URLUsato da JWT e URLA–Z, a–z, 0–9, -, _
PaddingRiempie l'ultimo gruppo quando la lunghezza non è un multiplo di 3= o ==
Dimensione del gruppoByte per blocco codificato → 4 caratteri in output3 byte → 4 caratteri
Aumento di lunghezzaL'output è circa il 33% più grande dell'input100 B → 136 caratteri
Data URLFile incorporato inline in HTML/CSSdata:image/png;base64,...

Esempi di Base64 da provare

Decodifica una parola semplice

Codificato

SGVsbG8gV29ybGQ=

Decodificato

Hello World

Il = finale è riempimento, perché Hello World è lungo 11 byte, che non è un multiplo di 3. La decodifica lo rimuove sempre correttamente.

Codifica un piccolo payload JSON

Original
{"role":"student","active":true}
Base64

eyJyb2xlIjoic3R1ZGVudCIsImFjdGl2ZSI6dHJ1ZX0=

I token JWT codificano ogni segmento esattamente così: ecco perché i payload JWT di solito iniziano con eyJ, che è la forma Base64 di {".

Riconosci un URL data

Data URL

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgAAIAAAUAAen8GVAAAAAASUVORK5CYII=

Il prefisso dichiara il tipo di contenuto (image/png) e la codifica (base64). Tutto ciò che viene dopo la virgola è il contenuto del file. Utile per immagini minuscole che si caricano insieme alla pagina.

Confronta l'alfabeto standard e quello sicuro per URL

Standard

Pj4/Pyc+Pg==

URL-safe

Pj4_Pyc-Pg

Il Base64 sicuro per URL sostituisce + con - e / con _, così il valore può stare dentro un URL senza altro escape. I JWT usano questa variante.

Errori comuni con Base64

  • Chiamare Base64 "cifrato". Chiunque può decodificarlo senza password né chiave.
  • Dimenticare che il testo Unicode va trasformato in byte UTF-8 *prima* della codifica Base64: altrimenti i caratteri non ASCII non tornano indietro correttamente.
  • Togliere a mano il padding = e passare il risultato a un decodificatore rigido che se lo aspetta. (I decodificatori URL-safe di solito accettano il padding mancante; quelli standard potrebbero non farlo.)
  • Incorporare immagini grandi in Base64 in CSS o HTML quando un normale URL di file sarebbe più piccolo, più veloce e più facile da mettere in cache.

FAQ su Base64

Cos'è la codifica Base64?
Base64 è una codifica che rappresenta dati binari come testo stampabile usando un alfabeto di 64 caratteri. Si usa ovunque dei byte debbano passare attraverso un sistema che gestisce solo testo: API, JSON, JWT, email, URL data.
Come funziona Base64?
Base64 prende 3 byte di input (24 bit) e li divide in quattro gruppi da 6 bit. Ogni gruppo da 6 bit corrisponde a uno dei 64 caratteri. Se l'input non è lungo un multiplo di 3 byte, vengono aggiunti uno o due caratteri = come riempimento.
Come si decodifica una stringa Base64?
Incolla la stringa in un decodificatore Base64. L'output è il testo o il file originale. Nel codice, la maggior parte dei linguaggi ha una funzione integrata: atob() nei browser, Buffer.from(str, 'base64') in Node.js, base64.b64decode() in Python.
Base64 è sicuro?
No. Base64 è una codifica, non una crittografia. È pensato per rappresentare e trasportare dati, non per tenerli segreti. Se ti serve riservatezza, cifra prima i dati e poi codifica in Base64 il testo cifrato.
Perché Base64 a volte finisce con =?
= è il riempimento. Base64 produce 4 caratteri ogni 3 byte di input. Quando la lunghezza dell'input non è un multiplo di 3, si aggiungono uno o due = così la lunghezza codificata resta un multiplo di 4.
Base64 può codificare immagini?
Sì. I byte di un'immagine si possono codificare in Base64 e inserire in un URL data:image/png;base64,..., così l'immagine è incorporata direttamente in HTML, CSS o JSON senza una richiesta di rete separata.

Scopri di più

Altri strumenti per sviluppatori

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA