Кодирование данных в 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

См. также

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты