Vai al contenuto

A–Z a–z 0–9 + / = · base64url

Codifica e decodifica Base64

Il Base64 scrive i byte come testo con 64 caratteri stampabili: i 5 byte di "Hello" diventano SGVsbG8=. Digita un testo o scegli un file per codificarlo, oppure incolla del Base64 per riportarlo a testo o a un download.

Tutto gira in questa scheda e nulla viene caricato. Il Base64 è una codifica, non una cifratura: chiunque può decodificarlo.

Scanned by NortonTM Safe Web

In breve

Prezzo
Nessun costo
Account
Non serve
Standard
RFC 4648 (Base64 e Base64url), RFC 2045 (MIME), RFC 2397 (data URI)
Variazione di dimensione
4 caratteri ogni 3 byte
Limite
10 MB per un testo o un file
Caricamento
Nessuno — testo e file restano nella scheda del browser

Esempi di Base64

Ogni valore qui sotto è prodotto dal codificatore di questa pagina. Il testo viene prima codificato in UTF-8.

Testo in Base64 e Base64url
TestoBase64Base64url senza paddingDimensione UTF-8
HelloSGVsbG8=SGVsbG85 B
Hello, World!SGVsbG8sIFdvcmxkIQ==SGVsbG8sIFdvcmxkIQ13 B
GrüßeR3LDvMOfZQ==R3LDvMOfZQ7 B
€4oKs4oKs3 B
FB FF+/8=-_82 B
Vettori di test della RFC 4648
InputBase64LunghezzaCaratteri di padding
fZg==42
foZm8=41
fooZm9v40
foobZm9vYg==82
foobaZm9vYmE=81
foobarZm9vYmFy80

Come codificare e decodificare il Base64

1

Scegli una direzione

Scegli Codifica per trasformare un testo o un file in Base64, oppure Decodifica per riportare il Base64 all'originale. Il pulsante Inverti sposta il risultato nell'altra direzione.

2

Inserisci i dati

Digita o incolla un testo, oppure trascina un file fino a 10 MB. Per la decodifica, incolla Base64 nell'alfabeto standard o URL-safe, con o senza padding =, oppure un data URI.

3

Copia il risultato

Copia o scarica il risultato. Se i byte decodificati non sono testo, la pagina mostra i primi byte in esadecimale, indica il tipo di file quando lo conosce e ti permette di salvare i byte come file.

Come funziona il Base64

Il Base64 (RFC 4648) divide l'input in gruppi di 3 byte, cioè 24 bit, e scrive ogni gruppo come 4 caratteri da 6 bit ciascuno, presi da un alfabeto di 64 caratteri: A–Z, a–z, 0–9, + e /. L'output è quindi circa un terzo più grande dell'input. Quando l'input non è un multiplo di 3 byte, dei segni = completano la fine fino a un multiplo di 4 caratteri, quindi i 5 byte di Hello danno 8 caratteri che terminano con un =.

Il Base64url, definito nella stessa RFC, sostituisce + con - e / con _ in modo che il testo sia sicuro in un URL o in un nome di file, e formati come JWT eliminano il padding =. Questa pagina legge entrambi gli alfabeti, con o senza padding, e ignora spazi e interruzioni di riga. Il testo viene prima convertito in UTF-8, quindi € diventa i 3 byte E2 82 AC e 4oKs in Base64. Il limite è 10 MB per un testo o un file.

Domande sul Base64

Come si codifica un testo in Base64?

Digita o incolla il testo in modalità Codifica. Il Base64 compare mentre scrivi: Hello dà SGVsbG8=. Il testo viene prima scritto in UTF-8, quindi i caratteri fuori dall'ASCII usano più di un byte: € è di 3 byte e dà 4oKs.

Che differenza c'è tra Base64 e Base64url?

Il Base64url scambia due caratteri: - sostituisce + e _ sostituisce /. I byte FB FF sono +/8= in Base64 e -_8= in Base64url. La forma URL-safe è pensata per URL, nomi di file e JWT, e spesso omette il padding =.

Perché il Base64 finisce con dei segni =?

Sono padding. Il Base64 lavora in gruppi di 3 byte e 4 caratteri. Se l'ultimo gruppo ha 1 byte, due segni = lo completano: f dà Zg==. Se ne ha 2, un = lo completa: fo dà Zm8=. Un multiplo di 3 byte non ne richiede: foo dà Zm9v.

Il Base64 è una cifratura?

No. Il Base64 è una codifica reversibile senza chiave, quindi chiunque può decodificarlo, e non protegge i dati. Rende i dati binari adatti a essere inseriti in un testo come email, JSON, XML o un data URI.

Di quanto il Base64 ingrandisce i miei dati?

Di circa un terzo: ogni 3 byte diventano 4 caratteri, quindi 3000 byte danno 4000 caratteri. Le interruzioni di riga ogni 76 caratteri (MIME, RFC 2045) o ogni 64 caratteri (PEM, RFC 7468) aggiungono ancora un po'.

Perché la decodifica dice che i byte non sono testo UTF-8 valido?

Il Base64 in sé è corretto, ma i byte al suo interno non sono testo. Possono essere un'immagine, un file compresso o un altro formato binario. La pagina mostra allora i primi 64 byte in esadecimale, indica il tipo di file se lo conosce e offre i byte come download.