Cos'è la codifica Base64? Una spiegazione completa
Risposta rapida
La codifica Base64 converte i dati binari in testo utilizzando 64 caratteri stampabili (A-Z, a-z, 0-9, +, /). Ogni 3 byte di input diventano 4 Base64 caratteri. Base64 è reversibile (non crittografato) e aumenta la dimensione dei dati del 33% circa. Utilizza il nostro codificatore e decodificatore Base64 gratuito per convertire nel tuo browser.
Introduzione
Base64 è uno schema di codifica da binario a testo che converte i dati binari in una rappresentazione di stringa ASCII utilizzando 64 caratteri stampabili. È definito da RFC 4648 ed è comunemente utilizzato per codificare i dati che devono essere trasmessi su supporti progettati per gestire testo: allegati di posta elettronica (MIME), dati URLs in HTML/CSS, parti di token JWT e payload JSON contenenti dati binari. Base64 codifica, non crittografa: è completamente reversibile e non richiede chiave. Chiunque può decodificare Base64, quindi non garantisce riservatezza.
Passo dopo passo
-
Comprendere il set di caratteri
Base64 utilizza 64 caratteri: A-Z (26), a-z (26), 0-9 (10), + e / (2). Il carattere = viene utilizzato per il riempimento quando la lunghezza dell'input non è un multiplo di 3. La variante URL-safe sostituisce + con - e / con _ e omette il riempimento.
-
Scopri come funziona la codifica
Base64 elabora l'input in blocchi da 3 byte (24 bit). Ogni blocco da 24 bit è suddiviso in quattro gruppi da 6 bit. Ciascun valore a 6 bit (0-63) corrisponde a uno dei 64 caratteri. Se l'input non è un multiplo di 3, viene aggiunto il riempimento (=): 1 byte input → 2 Base64 caratteri + ==, 2 byte → 3 caratteri + =.
-
Comprendi le dimensioni generali
Base64 aumenta la dimensione dei dati di circa il 33%: ogni 3 byte diventano 4 caratteri. Un file da 1 MB diventa ~1,33 MB quando codificato con Base64. Questo sovraccarico è il compromesso per la compatibilità solo testo.
-
Distinguere la codifica dalla crittografia
Base64 sta codificando, non crittografando. È reversibile senza chiave: chiunque può decodificarlo. Base64 non garantisce riservatezza; converte solo il binario in testo per il trasporto. Non utilizzare mai Base64 per archiviare password o segreti.
Esempi
Codificare il testo
Ingresso: Hello, World!
Produzione: SGVsbG8sIFdvcmxkIQ==
Codifica dati binari (mostrati come esadecimali)
Ingresso: Byte: 0x00 0x01 0x02
Produzione: AAEC
URL-safe Base64 (stile JWT)
Ingresso: Standard: SGVsbG8= → URL-safe: SGVsbG8 (no padding, - and _ for + and /)
Produzione: Utilizzato nei token JWT e nei parametri URL
Problemi comuni
- Trattare Base64 come crittografia —Base64 è reversibile senza chiave. Chiunque può decodificarlo. Non utilizzarlo mai per proteggere dati sensibili.
- Caratteri non ASCII —naive btoa() genera Unicode. Utilizzare TextEncoder + btoa(unescape(encodeURIComponent(text))) o uno strumento compatibile con UTF-8.
- Rimozione del riempimento: il riempimento = fa parte della codifica. La sua rimozione interrompe la decodifica (sebbene alcuni decoder possano ricostruirla).
- Il sovraccarico delle dimensioni:Base64 aggiunge circa il 33% alle dimensioni dei dati. Per i file di grandi dimensioni questo è significativo; considerare se è necessaria la codifica.
Suggerimenti
- Utilizza Base64 per Data URLs per incorporare piccole immagini in HTML/CSS senza una richiesta HTTP separata.
- Utilizza URL-safe Base64 (sostituisci + con -, / con _, elimina il riempimento) per i token URLs e JWT.
- Base64 non è crittografia: usalo per compatibilità di trasporto, non per riservatezza.
- Utilizza il nostro codificatore e decodificatore Base64 per una conversione istantanea e privata nel tuo browser.