Кодирование данных в base64
Материал из GedeminWiki
Пример кодирования данных файла в base64:
Option Explicit Sub EncodeBase64 Const fmOpenRead = 0 Const fmCreate = &HFFFF& Dim Creator, InStream, OutStream Set Creator = New TCreator ' Исходный файл с данными, которые мы будем кодировать Set InStream = Creator.GetObject(Array("c:\temp\some_file", fmOpenRead), "TFileStream", "") ' Сюда мы поместим закодированные в base64 данные Set OutStream = Creator.GetObject(Array("c:\temp\some_file.txt", fmCreate), "TFileStream", "") ' двоичные данные => base64 с разбивкой на строки Call Application.MimeEncodeStream(InStream, OutStream, True) End Sub
Пример кодирования данных двоичного поля в base64:
Option Explicit Sub EncodeBase64 ... Dim Creator, InStream, OutStream Set Creator = New TCreator ' Исходный файл с данными, которые мы будем кодировать Set InStream = Creator.GetObject(nil, "TMemoryStream", "") ' Сюда мы поместим закодированные в base64 данные Set OutStream = Creator.GetObject(nil, "TStringStream", "") ... q.FieldByName("field_name").SaveToStream(InStream) ' двоичные данные => base64 с разбивкой на строки Call Application.MimeEncodeStream(InStream, OutStream, True) ' перекодированные данные выводим на экран MsgBox OutStream.DataString ... End Sub