Codifica Base64

Il principio della codifica Base64 consiste nell'utilizzare dei caratteri US-ASCII (caratteri non accentuati) per codificare tutti i tipi di caratteri ad 8 bit. In effetti, i protocolli di posta elettronica sono stati originariamente previsti per trasportare solamente dei messaggi di testo. Ora, data la diversità dei sistemi di posta elettronica, lo scambio di dati binari si traduce per nella maggior parte dei casi in trasformazioni di contenuto rendendo illeggibile il documento originale.

La codifica Base64

Il formato Base64, utilizzato massicciamente negli scambi di posta elettronica, permette quindi di trasmettere ogni documento binario (applicazione, video, file audio, ecc.) in allegato ad un messaggio elettronico codificandoli attraverso dei caratteri classici. La codifica Base64 provoca un aumento globale del 33% del volume dei dati da decodificare.

Principio di codifica Base64

Il principio della codifica Base64 consiste nell'utilizzare 4 caratteri stampabili (in formato US-ASCII) per codificare un gruppo di 3 Byte qualsiasi (3*8 bit = 24 bit).

La codifica Base64 usa un alfabeto di 64 caratteri classici stampabili per rappresentare un dato di 6 bit. I 64 simboli di questo alfabeto sono scelti per essere universalmente leggibili e per non avere significato nei principali protocolli di messaggeria (in particolare SMTP):

ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
123456789+/.

Percorrendo i dati binari da sinistra a destra, i gruppi di 24 bit sono creati concatenando dei blocchi di 3 dati di 8 bit. Ogni gruppo di 24 bit è quindi diviso in 4 gruppi di 6 bit, corrispondente a 4 caratteri dell'alfabeto Base64.

La codifica Base64 è prevista per dati che formano un multiplo di 24 bit. Quindi, se il volume di dati da codificare non forma un multiplo di 24 bit, il risultato della codifica Base64 deve essere completato da 0 a 3 caratteri «=» per ottenere un multiplo di 24 bit. Questo 65esimo carattere non può quindi essere presentato che alla fine dei dati decodificati. D'altra parte, per garantire una compatibilità con l'insieme dei sistemi di messaggeria, i dati Base64 sono formattati con dei ritorni a capo per ogni linea che non supera i 76 caratteri.

Foto: © Titov Nikolai - Shutterstock.com

I nostri contenuti sono creati in collaborazione con esperti di high-tech, sotto la direzione di Jean-François Pillou, fondatore di CCM.net. CCM è un sito di high-tech leader a livello internazionale ed è disponibile in 11 lingue.
Il documento intitolato « Codifica Base64 » dal sito CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.