ByteCompress

Codificatore Base64

Converti testo semplice o stringhe binarie in output codificato in Base64. Supporta alfabeti standard e sicuri per URL secondo RFC 4648, e gestisce UTF-8 completo, comprese emoji e script non latini.

0 chars
FreeClient-sideNo signup

Base64 aggiunge circa il 33% alla dimensione dei dati. Questo compromesso esiste perché i dati binari devono sopravvivere in canali solo testuali come intestazioni email, payload JSON e intestazioni di autorizzazione HTTP. Definito nella RFC 4648, Base64 utilizza un alfabeto a 64 caratteri: A-Z, a-z, 0-9, più + e / (o - e _ in modalità sicura per URL). Questo encoder basato su browser elabora completamente il tuo input sul tuo dispositivo utilizzando le API integrate btoa() e TextEncoder. Le stringhe private, i token e le credenziali non vengono mai inviate a nessun server.

Come Codificare in Base64

  1. Digita o incolla il testo che vuoi codificare nel campo di input.
  2. Seleziona la modalità di codifica Standard o Sicura per URL.
  3. L'output codificato in Base64 appare immediatamente nel pannello di output.
  4. Clicca su Copia per copiare il risultato negli appunti.

Come Funziona la Codifica Base64

L'alfabeto a 64 caratteri

Base64 utilizza un alfabeto a 64 caratteri: A-Z (26), a-z (26), 0-9 (10) e due caratteri aggiuntivi. Base64 standard (RFC 4648 §4) utilizza + e /. Base64 sicuro per URL (RFC 4648 §5) li sostituisce con - e _. La codifica prende tre byte di input (24 bit), li suddivide in quattro gruppi da 6 bit e mappa ciascun valore da 6 bit al corrispondente carattere dell'alfabeto. Ecco perché la lunghezza dell'output di Base64 è sempre un multiplo di 4.

Padding

Poiché Base64 elabora i dati in gruppi di 3 byte, le lunghezze di input che non sono multipli di 3 richiedono padding. Un byte avanzato produce == alla fine. Due byte avanzati producono =. Il padding è richiesto nella Base64 standard ma viene spesso rimosso nelle implementazioni sicure per URL, in particolare nei JWT.

Esempio

Input

Ciao, Mondo!

Output (Base64 Standard)

Q2lhbywgTW9uZGEh

I due caratteri di padding = appaiono perché "Ciao, Mondo!" è lungo 13 byte - 13 mod 3 = 1, quindi un byte rimane nell'ultimo gruppo.

Usi Comuni

  • Autenticazione di Base HTTP - Authorization: Basic richiede username:password codificati in Base64
  • Immagini inline in HTML/CSS - URI dei dati: data:image/png;base64,iVBORw0KGgo...
  • Token JWT - Le sezioni di intestazione e payload utilizzano Base64 sicuro per URL
  • Allegati email - MIME (RFC 2045) utilizza Base64 per codificare allegati binari nei protocolli email basati su testo

Standard vs Base64 Sicuro per URL

Base64 standard utilizza + e /, che hanno un significato speciale negli URL. Base64 sicuro per URL li sostituisce con - e _, rendendo l'output sicuro negli URL, nei nomi dei file e nei parametri di query senza codifica percentuale. Usa la modalità sicura per URL per JWT, token OAuth e qualsiasi dato Base64 che appare negli URL. Per decodificare l'output, usa il Decodificatore Base64. Per incorporare dati codificati nei parametri di query URL, combina questo strumento con il Codificatore URL.

Domande Frequenti

Base64 è una forma di crittografia?

No. Base64 è uno schema di codifica, non crittografia o alcuna forma di sicurezza. Chiunque abbia la stringa Base64 può decodificarla istantaneamente senza una chiave. Non offre alcuna riservatezza. Usa AES-256 o RSA se hai bisogno di proteggere i dati - Base64 è per il trasporto sicuro di dati binari in canali di testo, non per nascondere informazioni.

Perché l'output di Base64 finisce sempre con == o =?

Base64 codifica i dati in gruppi di 3 byte in 4 caratteri. Quando la lunghezza dell'input non è divisibile per 3, l'ultimo gruppo ha 1 o 2 byte invece di 3. Un byte avanzato produce == come padding; due byte avanzati producono =. Il padding garantisce che la lunghezza dell'output sia sempre un multiplo di 4, come richiesto dalla RFC 4648.

Questo encoder gestisce correttamente Unicode e emoji?

Sì. L'encoder prima converte il testo in byte UTF-8 utilizzando l'API TextEncoder del browser prima di applicare Base64. I caratteri Unicode, comprese le emoji (4 byte in UTF-8), i caratteri cinesi, le lettere arabe e i caratteri latini accentati sono tutti codificati correttamente e decodificati di nuovo nel testo originale.

Cos'è Base64 sicuro per URL e quando dovrei usarlo?

Base64 sicuro per URL (RFC 4648 §5) sostituisce + con - e / con _. Usalo ogni volta che i dati Base64 appaiono in un URL, nome file, cookie o intestazione HTTP dove i caratteri standard verrebbero fraintesi. I token JWT, i token di accesso OAuth e i verificatori di codice PKCE utilizzano tutti Base64 sicuro per URL.

Di quanto aumenta la dimensione dei dati Base64?

La codifica Base64 aumenta la dimensione dei dati esattamente del 33,33% - 3 byte di input diventano 4 caratteri di output (4/3 = 1,333...). Inoltre, l'output può includere fino a 2 caratteri di padding. Per grandi payload binari, i protocolli multipart o binari sono più efficienti in termini di larghezza di banda rispetto a Base64.