Qu'est-ce que Base64?

Base64 est une méthode pour convertir des données binaires arbitraires, des données composées de caractères de texte plus que tout simplement, en un message texte brut qui peut ensuite être transféré sur un réseau informatique. C'est ce qu'on appelle un encodage. Bien que la sortie d'un message codé de base64 ne soit pas quelque chose qu'un humain peut facilement comprendre, il est toujours composé de 64 caractères de langue anglaise communs, d'où vient le nom, avec un 65e caractère supplémentaire utilisé à des fins spéciales.

L'idée derrière la base64 est venue comme le besoin s'est présenté pour obtenir plus que des personnages de texte simples grâce à des communications en réseau telles que les e-mails. Les premiers e-mails ont commencé comme des caractères codés dans le Code standard américain pour l'information Interchange (ASCII), la méthode de codage utilisée dans les ordinateurs pour représenter les caractères de l'alphabet de langue anglaise comme texte sur des affichages ou des imprimantes. Comme des informations binaires supplémentaires devaient passer, de nouveaux schémas de codage ont été développés.

La méthode d'encodage de la base64 a d'abord été décrite dans ce qui est connu comme la norme d'extensions de messagerie Internet polyvalente (MIME). Les méthodes définies de la norme MIME par lesquelles d'autres caractères qui n'étaient pas codées ASCI, tels que les alphabets utilisés par les langues non anglophones, ainsi que d'autres données binaires arbitraires, pourraient également être codées en séquences ASCII et transmises par e-mail. Parmi les deux principaux moyens d'encodage décrits par la norme MIME, Base64 partage le rôle avec un autre connu sous le nom de cité imprimé. Alors que la méthode imprimée citée est capable d'étendre ASCII quelque peu au-delà de ses 94 caractères imprimables limitées, la base64 peut prendre n'importe quelle séquence d'octets et la convertir en une séquence ASCII.

Base64 doit prendre des chaînes de données qui ne respecteraient pas autrement la norme ASCII et les convertir en ASCII. Pour ce faire, la méthode de codage est un processus de collecte des données en groupes de trois octetset les convertir en quatre nombres qui représentent les caractères ASCII correspondants. Étant donné qu'un octet est de huit bits, où chaque bit est représenté par un one ou un zéro, trois octets sont liés de bout en bout et la séquence entière va dans un tampon 24 bits. Les 24 et les zéros sont ensuite divisés en quatre groupes de six bits, où chacun est affecté des nombres qui correspondent à un caractère ASCII.

Étant donné que Base64 est capable de coder des données binaires, toute séquence d'octets peut passer par le processus. Il y a cependant une prise dans les cas où le nombre d'octets pour le codage n'est pas divisible par trois afin que les bits puissent s'intégrer dans le tampon. Si une séquence d'octets contient, disons, quatre ou cinq octets, quelque chose est encore nécessaire pour remplir le tampon et composer les 24 bits complets. Dans ces cas, chaque octet manquant est représenté par huit 0s et est par la suite converti en caractères de rembourrage dans le codage fini. C'est de là que vient le 65e personnage mentionné précédemment, repEsenté dans le message codé avec un signe égal (=); il n'apparaît qu'à la toute fin d'un codage si une charge est nécessaire.

Bien que Base64 ait été initialement conçu pour transmettre des données binaires via des e-mails, son utilisation est entrée en jeu dans un certain nombre d'autres domaines en plus de MIME. Une telle utilisation assez courante est que les bases de données Web et les applications codent pour la création d'un localisateur de ressources uniforme (URL) sur un formulaire Web. Le langage de balisage extensible (XML) utilise également une variante qui permet des données binaires, telles que de petites images, à inclure dans les documents XML. D'autres variations existent pour les méthodes de chiffrement et d'autres techniques liées à la sécurité telles que la cachette de mots de passe.

DANS D'AUTRES LANGUES