Fonctions de codage et de décodage Base64
Base64 fait référence à un codage de transfert de contenu MIME spécifique. Le codage Base64 représente des séquences arbitraires d'octets dans un format pour lequel le respect de la casse est requis mais qui n'a pas besoin d'être lisible pour des êtres humains.
Un sous-ensemble de 65 caractères US-ASCII est utilisé, ce qui permet de représenter 6 bits par caractère imprimable. Le 65ème caractère, "=", est utilisé pour indiquer une fonction de traitement spécial.
Le processus de codage représente des groupes de 24 bits d'entrée sous la forme de chaînes de sortie de 4 caractères codés. En allant de gauche à droite, un groupe d'entrée de 24 bits est formé en concaténant 3 groupes d'entrée de 8 bits. Ces 24 bits sont traités en tant que 4 groupes de 6 bits concaténés, chacun d'entre eux étant converti en un chiffre unique de l'alphabet de base 64.
Chaque groupe de 6 bits est utilisé comme indice dans une table de 64 caractères imprimables. Le caractère référencé par l'indice est placé dans la chaîne de sortie.
Alphabet Base64
Codage valeur Codage valeur Codage valeur Codage valeur
0 A 17 R 34 i 51 z
1 B 18 S 35 j 52 0
2 C 19 T 36 k 53 1
3 D 20 U 37 l 54 2
4 E 21 V 38 m 55 3
5 F 22 W 39 n 56 4
6 G 23 X 40 o 57 5
7 H 24 Y 41 p 58 6
8 I 25 Z 42 q 59 7
9 J 26 a 43 r 60 8
10 K 27 b 44 s 61 9
11 L 28 c 45 t 62 +
12 M 29 d 46 u 63 /
13 N 30 e 47 v
14 O 31 f 48 w (remplissage) =
15 P 32 g 49 x
16 Q 33 h 50 y
- Le quantum final d'entrée de codage est un multiple entier de 24 bits. L'unité finale de sortie codée sera un multiple entier de 4 caractères sans caractère de remplissage "=".
- Le quantum final d'entrée de codage est exactement 8 bits. L'unité finale de sortie codée sera deux caractères suivis de deux caractères de remplissage "=".
- Le quantum final d'entrée de codage est exactement 16 bits. L'unité finale de sortie codée sera trois caractères suivis d'un caractère de remplissage "=".