Cos'è la Codifica Base64?
Scopri cos'è la codifica Base64, perché esiste, cosa cambia in un file e come si collega alla conversione di un PDF in una stringa Base64.
- cosa e la codifica base64
- definizione base64
- base64 spiegato
- pdf me
Definizione
Base64 è uno schema di codifica da binario a testo. Rappresenta qualsiasi sequenza di byte — un PDF, un'immagine, un font, una chiave di crittografia — usando solo 64 caratteri ASCII stampabili: le lettere dalla A alla Z e dalla a alla z, le cifre da 0 a 9, e due simboli extra, di solito + e /.
Poiché l'output usa solo caratteri comuni e stampabili, può passare in sicurezza attraverso sistemi pensati per il testo, non per dati binari qualsiasi.
Perché Esiste
Molti dei protocolli e formati su cui si basa il web — i vecchi standard email, JSON, XML e gli URL — sono stati progettati intorno al testo, non ai byte grezzi. Alcuni di questi canali rimuovono, alterano o rifiutano del tutto certi valori di byte.
Base64 evita il problema riesprimendo prima il contenuto binario come testo. È la stessa idea dietro la conversione di un PDF in Base64: i byte del file diventano una stringa che qualsiasi campo di testo può contenere.
Cosa Non È
Base64 non è crittografia né compressione. Non nasconde né protegge i dati — chiunque può decodificarlo all'istante — e l'output codificato è sempre più grande dell'input, mai più piccolo.
Non è nemmeno un formato di file. Non sa se i byte che rappresenta sono un PDF, un JPEG o altro; quell'informazione deve viaggiare a parte, di solito in un campo separato o come parte di un data URI.
Come Si Collega ai PDF
Un PDF è solo una sequenza di byte come qualsiasi altro file, quindi si codifica allo stesso modo di un'immagine o di un font. Per la meccanica della conversione, vedi come funziona la codifica Base64, e per una guida completa vedi la guida PDF in Base64.
Dai Byte ai Caratteri Base64
Base64 elabora il file originale 3 byte — 24 bit — alla volta. Ogni gruppo di 24 bit viene diviso in quattro blocchi di 6 bit, e ogni blocco di 6 bit (un numero da 0 a 63) viene cercato in un alfabeto fisso per produrre un carattere di output. Entrano tre byte, escono quattro caratteri.
Per questo ogni stringa Base64 è costruita con gli stessi 64 simboli, indipendentemente dal tipo di file — un PDF, un'immagine, un font — che è entrato. Vedi cos'è la codifica Base64 per il quadro generale.
L'Alfabeto Base64
I 64 valori possibili a 6 bit corrispondono a: le lettere maiuscole A–Z (valori 0–25), le lettere minuscole a–z (valori 26–51), le cifre 0–9 (valori 52–61) e infine + e / (valori 62 e 63). Alcune varianti sostituiscono gli ultimi due simboli — il Base64 sicuro per URL usa - e _ al loro posto, in modo che la stringa possa stare in sicurezza dentro un URL.
Padding Con =
Un gruppo di 24 bit si forma in modo netto solo quando la lunghezza dell'input è un multiplo di 3 byte. Quando all'ultimo gruppo di un file rimangono solo 1 o 2 byte, Base64 riempie i bit mancanti con zeri e aggiunge uno o due caratteri = alla fine dell'output, così i decoder sanno esattamente quanti degli ultimi bit erano dati reali.
Il padding non porta nessuna informazione dal file — segna solo dove finisce il contenuto reale, in modo che un decoder sappia dove fermarsi.
Un Piccolo Esempio Risolto
Codificare le due lettere "Hi" produce la stringa "SGk=". I byte di H e i formano 16 bit, che si dividono in tre blocchi completi di 6 bit più 2 bit residui riempiti con zeri — tre caratteri reali (S, G, k) seguiti da un carattere = di padding, perché l'input era di 2 byte, non un multiplo di 3.
Perché l'Output È Circa il 33% Più Grande
Tre byte di dati binari diventano sempre quattro caratteri di testo, un rapporto di 4:3 — circa il 33% più grande. Un PDF di 900 KB su disco diventa una stringa Base64 vicina a 1,2 MB. Questo è il principale compromesso da pianificare; vedi le indicazioni sulle dimensioni nella guida PDF in Base64.
Codifica
Il processo di convertire i dati da una rappresentazione a un'altra — in questo contesto, trasformare i byte binari di un PDF in una stringa di testo Base64. Vedi come funziona la codifica Base64 per la meccanica.
Decodifica
L'inverso della codifica: convertire una stringa Base64 di nuovo nei byte binari originali. Un PDF decodificato correttamente è identico, byte per byte, al file che è stato codificato.
Data URI
Una stringa che combina un valore codificato in Base64 con un prefisso che descrive il suo tipo di file, nella forma data:application/pdf;base64,.... Browser e alcuni visualizzatori usano il prefisso per sapere come renderizzare i dati. Vedi Base64 vs Data URI per sapere quando si applica ciascuna forma.
Dati Binari
Dati memorizzati come byte grezzi invece che come testo leggibile dall'uomo. Un PDF, come qualsiasi formato di file, è dato binario a livello di byte, indipendentemente da quanto testo contenga visivamente.
Tipo MIME
Un'etichetta come application/pdf che identifica che tipo di contenuto è un dato. API e browser usano il tipo MIME per decidere come gestire, mostrare o decodificare un file.
Payload API
I dati inviati nel corpo di una richiesta o risposta API. Un PDF codificato in Base64 spesso vive dentro un payload JSON come uno dei vari campi — vedi come usare un PDF Base64 in una richiesta API JSON per una struttura tipica.