Base64

# Module Base64

    module Base64: sig .. end

Base64 codec.

8-bit characters are encoded into 6-bit ones using ASCII lookup tables. Default tables maps 0..63 values on characters A-Z, a-z, 0-9, '+' and '/' (in that order).

    exception Invalid_char

This exception is raised when reading an invalid character from a base64 input.

    exception Invalid_table

This exception is raised if the encoding or decoding table size is not correct.

    type encoding_table = char array

An encoding table maps integers 0..63 to the corresponding char.

    type decoding_table = int array

A decoding table mais chars 0..255 to the corresponding 0..63 value or -1 if the char is not accepted.

    val str_encode : ?tbl:encoding_table -> string -> ExtBytes.Bytes.t

Encode a string into Base64.

    val str_decode : ?tbl:decoding_table -> ExtBytes.Bytes.t -> string

Decode a string encoded into Base64, raise `Invalid_char` if a character in the input string is not a valid one.

    val encode : ?tbl:encoding_table -> 'a IO.output -> 'a IO.output

Generic base64 encoding over an output.

    val decode : ?tbl:decoding_table -> IO.input -> IO.input

Generic base64 decoding over an input.

    val make_decoding_table : encoding_table -> decoding_table

Create a valid decoding table from an encoding one.