Che cos'è Base64?

Base64 è un metodo per convertire dati binari arbitrari, dati composti da più di semplici caratteri di testo, in un messaggio di testo semplice che può quindi essere trasferito attraverso una rete di computer. È ciò che viene chiamato una codifica. Sebbene l'output di un messaggio codificato in base64 non sia qualcosa che un essere umano possa facilmente comprendere, è comunque composto da 64 caratteri comuni in lingua inglese, da cui deriva il nome, con un 65 ° carattere aggiuntivo utilizzato per scopi speciali.

L'idea alla base di64 è nata quando è nata la necessità di ottenere più di semplici caratteri di testo attraverso comunicazioni in rete come la posta elettronica. I primi messaggi e-mail sono nati come caratteri codificati nell'American Standard Code for Information Interchange (ASCII), il metodo di codifica utilizzato nei computer per rappresentare i caratteri dell'alfabeto in lingua inglese come testo su display o stampanti. Poiché erano necessarie ulteriori informazioni binarie per passare, sono stati sviluppati nuovi schemi di codifica.

Il metodo di codifica base64 è stato descritto per la prima volta in quello che è noto come standard MIME (Multipurpose Internet Mail Extensions). Lo standard MIME ha definito i metodi con cui altri caratteri che non erano codificati in ASCII, come gli alfabeti usati da lingue non inglesi, così come altri dati binari arbitrari, potevano anche essere codificati in sequenze ASCII e trasmessi tramite messaggi di posta elettronica. Dei due principali mezzi di codifica descritti dallo standard MIME, base64 condivide il ruolo con un altro noto come quoted-printable. Mentre il metodo quoted-stampabile è in grado di estendere ASCII in qualche modo oltre i suoi 94 caratteri stampabili limitati, base64 può prendere qualsiasi sequenza di byte e convertirla in una sequenza ASCII.

Base64 deve prendere stringhe di dati che altrimenti non soddisferebbero lo standard ASCII e convertirli in ASCII. Per fare ciò, il metodo di codifica è un processo di raccolta dei dati in gruppi di tre byte e conversione in quattro numeri che rappresentano i corrispondenti caratteri ASCII. Poiché un byte è di otto bit, dove ogni bit è rappresentato da uno o zero, tre byte sono collegati da un capo all'altro e l'intera sequenza va in un buffer di 24 bit. I 24 e gli zeri vengono quindi suddivisi in quattro gruppi di sei bit, a ciascuno dei quali vengono assegnati numeri che corrispondono a un carattere ASCII.

Poiché base64 è in grado di codificare qualsiasi dato binario, qualsiasi sequenza di byte può passare attraverso il processo. C'è un problema, tuttavia, in quei casi in cui il numero di byte per la codifica non è divisibile per tre in modo che i bit possano adattarsi al buffer. Se una sequenza di byte contiene, diciamo, quattro o cinque byte, è ancora necessario qualcosa per riempire il buffer e creare tutti i 24 bit. In questi casi, ogni byte mancante è rappresentato da otto 0 e successivamente viene convertito in caratteri di riempimento nella codifica finita. È da qui che proviene il 65 ° carattere precedentemente menzionato, rappresentato nel messaggio codificato con un segno di uguale (=); appare sempre e solo alla fine di una codifica nel caso in cui fosse necessario un filler.

Sebbene Base64 sia stato originariamente ideato per la trasmissione di dati binari tramite messaggi e-mail, il suo utilizzo è entrato in gioco in diverse altre aree oltre a MIME. Un uso abbastanza comune è che i database e le applicazioni Web codificano i dati per la creazione di un localizzatore di risorse (URL) uniforme su un modulo Web. Extensible Markup Language (XML) utilizza anche una variante che consente di includere dati binari, come piccole immagini, nei documenti XML. Esistono altre varianti per i metodi di crittografia e altre tecniche relative alla sicurezza come nascondere le password.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?