Module BatBase64


module BatBase64: 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).
Author(s): Nicolas Cannasse


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 -> 'a BatIO.output -> 'a BatIO.output
Generic base64 encoding over an output.
val decode : ?tbl:decoding_table -> BatIO.input -> BatIO.input
Generic base64 decoding over an input.
val make_decoding_table : encoding_table -> decoding_table
Create a valid decoding table from an encoding one.