Idris2Doc : Data.String.Base64.Encode

Data.String.Base64.Encode

(source)

Definitions

base64EncodeLength : Int->Int
  Given a length of input data, calculate the length of its Base64 encoding.

Base64 encodes every three input bytes as four output bytes.

A final partial group of one or two bytes is padded to a complete
four-byte group.

The returned length does not include a trailing NUL byte.

Visibility: export
base64Encode : ListBits8->ListBits8
  Encode a list of bytes into Base64.

The implementation is entirely native Idris2 and has no dependency on an
external C Base64 implementation.

A mutable byte buffer of exactly the required output size is allocated
inside an `F1` region. The encoder writes directly into this buffer using
the optimized lookup tables from `Data.String.Base64.Internal`.

Once encoding is complete, the mutable buffer is frozen without copying
and converted to the requested `List Bits8` result.

The returned list contains ASCII Base64 bytes.

Visibility: export
base64EncodeString : ListBits8->String
  Encode a list of bytes into a Base64 String.

Base64 output consists entirely of ASCII characters.

The encoder writes directly into a mutable byte buffer inside an `F1`
region and converts the completed buffer directly to a `String`.

This avoids first materializing the Base64 output as a `List Bits8` and
then allocating another buffer solely for UTF-8 decoding.

Visibility: export