Логотип
Vicking.narod.ru
Программирование
Исходные тексты и утилиты

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


 
 

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

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

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

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

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

 

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

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

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

P. S.: Прошу не рассматривать данный обзор как плагиат на статью. Обзор создан лишь с той целью, чтобы осветить мною созданный модуль.


© Зинкевич Виктор, 2005 г.

 



Hosted by uCoz