# Module XmlRpcBase64

    module XmlRpcBase64: 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 maps chars 0..255 to the corresponding 0..63 value or -1 if the char is not accepted.

    val str_encode : ?tbl:encoding_table -> string -> string

Encode a string into Base64.

    val str_decode : ?tbl:decoding_table -> string -> 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 -> char Stream.t -> char Stream.t

Generic base64 encoding over a character stream.

    val decode : ?tbl:decoding_table -> char Stream.t -> char Stream.t

Generic base64 decoding over a character stream.

    val make_decoding_table : encoding_table -> decoding_table

Create a valid decoding table from an encoding one.