PureBasic

Base64EncoderBuffer()

Синтаксис

Result = Base64EncoderBuffer(*InputBuffer , InputSize , *OutputBuffer , OutputSize [, Flags])

Описание


Кодирует указанный буфер используя алгоритм Base64.Это широко используется в программах для работы с электронной почтой, но может пригодиться в любой другой программе, которой для исходных двоичных файлов требуется только кодировка ASCII (7 бит, только символы от 32 до 127).

Параметры

*InputBuffer Входной буфер, содержащий простые данные.
InputSize Размер входного буфера.
*OutputBuffer Выходной буфер, куда будут помещены закодированные данные.
OutputSize Размер выходного буфера.

Выходной буфер должен быть хотя бы на 33% больше, чем входной буфер, минимальный размер 64 байта. Рекомендуется обеспечить чуть больший буфер, например на 35% больше, чтобы избежать переполнений.
Flags (дополн.) Этот параметр может быть комбинацией следующих значение (с помощью оператора '|'):
  #PB_Cipher_NoPadding: Не будет вставлять символ '=' в конец закодированного буфера, для его заполнения до границы 3 байта.
  #PB_Cipher_URL      : Будет использовать немного другую кодировку, в основном используемую в URL.
                        Обычные кодированные символы "+" и "/" будут соответственно закодированы в '-' и '_'

Возвращаемое значение

Возвращает длину закодированных данных в байтах.

Пример

Example$ = "Это тестовая строка!"
Decoded$ = Space(1024)
Encoded$ = Space(1024)

Debug Base64EncoderBuffer(@Example$, StringByteLength(Example$), @Encoded$, StringByteLength(Encoded$))
Debug Encoded$

Debug Base64DecoderBuffer(@Encoded$, StringByteLength(Encoded$), @Decoded$, StringByteLength(Decoded$))
Debug Decoded$

См. также

Base64DecoderBuffer()

Поддерживаемые OS

Все

<- Base64Encoder() - Оглавление Cipher - CloseCryptRandom()->