ЗакодироватьBASE64

 Кодирует содержимое файла с помощью схемы BASE64.

Синтаксис

ЗакодироватьBASE64(Файл)

Параметры

Файл (объект) – объект типа "файл" с данными для кодирования, который должен быть предварительно открыт.

Возвращает

Да (логическое значение) – операция кодирования прошла успешно.

Нет (логическое значение) -  операция закончилась неудачно.

Комментарии

В формате электронной почты MIME, BASE64 это схема, по которой произвольная последовательность байт преобразуется в последовательность печатных ASCII символов. Это определяет MIME как транспортное кодирование содержимого для использования в электронной почте. Используются только символы латинского алфавита в верхнем и нижнем регистре — символы (A—Z, a—z), цифры (0—9), и символы "+" and "/", с символом "=" в качестве специального кода суффикса.

Полная спецификация этой формы BASE64 содержится в RFC 1421 и RFC 2045. Эта схема используется для кодирования последовательности октетов (байт). Это соответствует определению файлов почти во всех системах. Результирующие закодированные по BASE64 данные имеют длину, большую оригинальной в соотношении 4:3, и напоминают по виду случайные символы.

Для того, чтобы преобразовать данные в BASE64, первый байт помещается в самые старшие восемь бит 24-битного буфера, следующие в средние восемь и третий в младшие значащие восемь бит. Если кодируется менее чем три байта, то соответствующие биты буфера устанавливаются в ноль. Далее каждые шесть бит буфера, начиная с самых старших, используются как индексы строки "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" и её символы, на которые указывают индексы, помещаются в выходную строку. Если кодируются только один или два байта, используются только первые два или три символа строки и выходная строка дополняется двумя или одним символами "=". Это предотвращает добавление дополнительных битов к восстановленным данным. Процесс повторяется над оставшимися входными данными.

В основном сканнеры спама, которые не декодируют сообщения в BASE64, часто пропускают сообщения в BASE64,так как они кажутся достаточно случайными, или не содержат ключевые слова в тексте BASE64,чтобы не быть принятыми за спам.

Пример

оФайл = Файл();
оФайл.ЗаписатьСтроку( "Данные" );
ЗакодироватьBASE64( оФайл );
оФайл.УстановитьПозицию( 0 );
перем пСтрока;
оФайл.ПрочитатьСтроку( пСтрока );
Сообщить( пСтрока ); # Выдаст результат: "xODt7fvlDQo="

См. также:

•  РаскодироватьBASE64