Result = Base64EncoderBuffer(*InputBuffer, InputSize, *OutputBuffer, OutputSize [, Flags])
Encodes the specified buffer using the Base64 algorithm. This is widely used in e-mail programs but can be useful for any other programs which need an ASCII only (7 bit, only from 32 to 127 characters) encoding for raw binary files.


*InputBuffer The buffer containing the plain data.
InputSize The size of the input buffer.
*OutputBuffer The output buffer where the encoded data will be copied.
OutputSize The size of the output buffer.

The output buffer should be at last 33% bigger than the input buffer, with a minimum size of 64 bytes. It's recommended to get a slightly larger buffer, like 35% bigger to avoid overflows.
Flags (optional) It can be a combination of the following values:
  #PB_Cipher_NoPadding: it will not insert additional '=' at the end of the encoded buffer to pad it to 3 bytes boundary.
  #PB_Cipher_URL      : it will use a slightly different encoding, mainly used in URL. The usual '+' and '/' encoded characters
                        will be respectively encoded to '-' and '_'

Return value

Returns the length of the encoded data in bytes.


  Example$ = "This is a test string!" 
  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$

See Also


Supported OS


<- Base64Encoder() - Cipher Index - CloseCryptRandom() ->