object

# `base64`

Base64 parser and generator.

Availability:
`logtalk_load(base64(loader))`
Author: Paulo Moura
Version: 1:0:1
Date: 2026-06-14
Compilation flags:
`static, context_switching_calls`
Uses:
reader
Remarks:
(none)
Inherited public predicates:
(none)

## Public predicates

### `parse/2`

Parses the Base64 data from the given source (`atom(Atom)`, `chars(List)`, `codes(List)`, `stream(Stream)`, or `file(Path)` into a list of bytes.

Compilation flags:
`static`
Template:
`parse(Source,Bytes)`
Mode and number of proofs:
`parse(++compound,--list(byte))` - `one_or_error`
Exceptions:
`Source` is a variable:
`instantiation_error`
`Source` is neither a variable nor a valid Base64 source term:
`domain_error(base64_source,Source)`
`Source` contains Base64 data with characters outside the Base64 alphabet:
`representation_error(base64)`

### `generate/2`

Generates Base64 in the representation specified in the first argument (`atom(Atom)`, `chars(List)`, `codes(List)`, `stream(Stream)`, or `file(Path)` for the list of bytes in the second argument.

Compilation flags:
`static`
Template:
`generate(Sink,Bytes)`
Mode and number of proofs:
`generate(+compound,+list(byte))` - `one_or_error`
Exceptions:
`Sink` is a variable:
`instantiation_error`
`Sink` is neither a variable nor a valid Base64 sink term:
`domain_error(base64_sink,Sink)`

## Protected predicates

(no local declarations; see entity ancestors if any)

## Private predicates

(no local declarations; see entity ancestors if any)

## Operators

(none)