Работаем с форматом Base64

В этом обзоре мы рассмотрим модуль Base64. Он предназначен для конвертации информации в формат Base64 и обратно. В этом модуле всего две процедуры: ConvertToBase64 и ConvertFromBase64. Аргументами обеих процедур являются потоки: входной и выходной.

Суть формата Base64 заключается в том, чтобы вместо всех 256 вариантов байта использовать, только 64. Следовательно выходной поток будет немного длинее, но зато его можно будет без проблем передать по электронной почте. Весь набор из 64 символов представлен здесь:

Входной поток (0..255)
Результат разбиения: 0..63

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/


Каждым трем байтам входящего потока соответствует четыре символа в выходном потоке. Принцип кодирования изображен на этом рисунке:


Так как из входного потока берется по 3 байта, то может быть такой случай, когда в очередной раз при попытке взять 3 байта нам не хватит их. Тогда в выходном потоке появятся на конце знак равенства (ABC= или AB==).

Модуль вы можете скачать здесь: base64.zip (1 КБ).

Хочу выразить благодарность за предоставленный материал по Base64 виртуальному клубу программистов Королевство Delphi, а также Александру Терехову - автору статьи "Base64 для не продвинутых".

Комментарии

Популярные сообщения из этого блога

Редактор блок-схем

Несколько компьютеров через один ViPNet Client

Год с методом Бутейко