16.13.6 Метод кодирования Base64

16.13.6 Метод кодирования Base64

Метод кодирования Base64 преобразует любой тип данных к большему в 3 раза количеству текстовых символов. Данные разделяются на части по три 8-разрядных, байта. Например:

10001000 00110011 11110001

Для преобразования эта последовательность сначала разделяется на четыре 6-разрядные группы:

100010 000011 001111 110001

Каждая группа интерпретируется как число:

34 3 15 49

Полученные числа заменяются соответствующими символами из таблицы 16.4.

Таблица 16.4 Кодирование Base64

Значение Код Значение Код Значение Код Значение Код 0 A 16 Q 32 g 48 w 1 В 17 R 33 h 49 X 2 С 18 S 34 i 50 y 3 D 19 T 35 j 51 z 4 E 20 U 36 k 52 0 5 F 21 V 37 I 53 1 6 G 22 W 38 m 54 2 7 H 23 X 39 n 55 3 8 I 24 Y 40 о 56 4 9 J 25 Z 41 p 57 5 10 К 26 a 42 q 58 6 11 L 27 b 43 r 59 7 12 M 28 с 44 s 60 8 13 N 29 d 45 t 61 9 14 О 30 e 46 u 62 + 15 P 31 f 47 V 63 /

Если общее число октетов не кратно трем, то в конце сообщения останутся 1 или 2 октета. Они дополняются нулевыми битами и кодируются. 1 октет транслируется в 2 символа со следующими далее двумя знаками равенства (==), 2 октета — в 3 символа со следующим далее одним знаком равенства (=).