Книга: TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
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 символа со следующим далее одним знаком равенства (=).
- Особенности кодирования литеральных символов и пар расстояние
- 16.13.5 Метод кодирования указанными печатными символами
- 5.11. ПРИМЕР ПРИМЕНЕНИЯ ПРОЕКТНОЙ ПРОЦЕДУРЫ ДЛЯ КОДИРОВАНИЯ ПРОГРАММЫ ПЕЧАТИ КАЛЕНДАРЯ НА ПРИНТЕРЕ
- Запуск InterBase-сервера
- Расширенная установка InterBase-сервера
- Резервное копирование базы данных InterBase
- Резервное копирование при работе InterBase в режиме 24x7
- Миграция между различными версиями InterBase
- Перевод базы данных InterBase 6.x на 3-й диалект
- Профилактика повреждений баз данных InterBase
- Восстановление "безнадежных" баз данных. InterBase Surgeon
- Статистика базы данных InterBase