Conversion base64

limite: 1000 caractères.


Base64 est une méthode d'encodage de l'information utilisant 64 caractères. Elle permet de représenter des données binaires en texte ASCII, en utilisant un ensemble de 64 caractères imprimables. Cette métdode est couramment utilisée pour transmettre des données sur des canaux qui ne peuvent pas gérer les données binaires, comme les e-mails et les pages web.

Les chiffres de la base64

Les chiffres de la base64 se composent de 4 groupes :
• Les lettres majuscules ABCDEFGHIJKLMNOPQRSTUVWXYZ (valeurs de 0 à 25)
• Les lettres minuscules abcdefghijklmnopqrstuvwxyz (valeurs de 26 à 51)
• Les chiffres 0123456789 (valeurs de 52 à 61)
• Les symboles +/ (valeurs 62 et 63):

La table de transcodage des chiffres Base64 en décimal et binaire est la suivante :

Les lettres majuscules ABCDEFGHIJKLMNOPQRSTUVWXYZ

A B C D E F G H I J K L M
0 1 2 3 4 5 6 7 8 9 10 11 12
000000 000001 000010 000011 000100 000101 000110 000111 001000 001001 001010 001011 001100
 
N O P Q R S T U V W X Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
001101 001110 001111 010000 010001 010010 010011 010100 010101 010110 010111 011000 011001
 

Les lettres minuscules abcdefghijklmnopqrstuvwxyz

a b c d e f g h i j k l m
26 27 28 29 30 31 32 33 34 35 36 37 38
011010 011011 011100 011101 011110 011111 100000 100001 100010 100011 100100 100101 100110
 
n o p q r s t u v w x y z
39 40 41 42 43 44 45 46 47 48 49 50 51
100111 101000 101001 101010 101011 101100 101101 101110 101111 110000 110001 110010 110011
 

Les chiffres 0123456789

0 1 2 3 4 5 6 7 8 9
52 53 54 55 56 57 58 59 60 61
110100 110101 110110 110111 111000 111001 111010 111011 111100 111101
 

Les symboles + et /

+ /
62 63
111110 111111
 

A cet alphabet s'ajoute le symbole = qui est utilisé comme caractère de remplissage.

Exemple de codage d'un texte en base64

Nous allons coder le mot "Film" en base 64 étape par étape.

Etape 1

Convertir le mot "Film" en sa représentation binaire ASCII :

  F i l m
Valeurs décimales 70 105 108 109
Valeurs binaires 01000110 01101001 01101100 01101101
 

Etape 2

Joindre les valeurs binaires :

01000110 01101001 01101100 01101101

• Regrouper la représentation binaire ASCII en blocs de 6 bits :

010001 100110 100101 101100 011011 01

Etape 3

Ajouter des zéros à droite du dernier bloc pour obtenir une longueur égale à 6 bits :

010001 100110 100101 101100 011011 010000

Etape 4

Convertir chaque bloc de 6 bits en décimal :

010001 -> 17
100110 -> 38
100101 -> 37
101100 -> 44
011011 -> 27
010000 -> 16

Un convertisseur base 2 vers base 10 est disponible ici.

Etape 5

Encodage Base64 en utilisant la table de corespondance Base64 ci-dessus :

17 -> R
38 -> m
37 -> l
44 -> k
27 -> b
16 -> Q

Etape 6

Concaténer les valeurs encodées et ajouter le caractère de remplissage = pour avoir un nombre de caractères multiple de 4 (ici 8 caractères)(*) :

RmlsbQ==

Ainsi, "Film" en Base64 s'écrit "RmlsbQ==".

(*) L'encodage Base64 se fait par paquet de 4 x 6 bits parce que 6 bits peuvent représenter exactement 64 valeurs différentes (2^6 = 64). Ainsi, chaque groupe de 6 bits peut être représenté par un caractère de la table Base64. En regroupant les données d'origine par paquets de 3 octets (soit 3 x 8 = 24 bits), on obtient 4 groupes de 6 bits, chacun pouvant être représenté par un caractère Base64. Cela permet donc de convertir des données binaires en une représentation textuelle plus compacte et portable, tout en évitant les problèmes de compatibilité avec des systèmes qui pourraient ne pas gérer certains caractères ASCII.

Voir aussi

Conversion en base n
Calculateurs de Cryptographie