module Base64:sig
..end
Base64 encoding as described in RFC 2045
val encode : ?pos:int ->
?len:int ->
?linelength:int ->
?crlf:bool -> ?plus:char -> ?slash:char -> string -> string
Compute the "base 64" encoding of the given string argument. Note that the result is a string that only contains the characters a-z, A-Z, 0-9, +, /, =, and optionally spaces, CR and LF characters.
If pos
and/or len
are passed, only the substring starting at
pos
(default: 0) with length len
(default: rest of the string)
is encoded.
The result is divided up into lines not longer than linelength
(without counting the line separator); default: do not divide lines.
If linelength
is smaller than 4, no line division is performed.
If linelength
is not divisible by 4, the produced lines are a
bit shorter than linelength
.
If crlf
(default: false) the lines are ended by CRLF; otherwise
they are only ended by LF.
(You need the crlf option to produce correct MIME messages.)
By default, the 63rd character of the alphabet is '+', and the
64th character is '/'. By passing plus
and slash
you can
choose different characters.
val encode_tstring : ?pos:int ->
?len:int ->
?linelength:int ->
?crlf:bool ->
?plus:char -> ?slash:char -> Netsys_types.tstring -> Stdlib.Bytes.t
Same for tagged string inputs. The result are always bytes, though
val encode_poly : ?pos:int ->
?len:int ->
?linelength:int ->
?crlf:bool ->
?plus:char ->
?slash:char -> 's Netstring_tstring.tstring_ops -> 's -> Stdlib.Bytes.t
Polymorphic version
val decode : ?pos:int ->
?len:int ->
?accept_spaces:bool -> ?plus:char -> ?slash:char -> string -> string
Decodes the given string argument.
If pos
and/or len
are passed, only the substring starting at
pos
(default: 0) with length len
(default: rest of the string)
is decoded.
If accept_spaces
(default: false
) is set, the function ignores
white space contained in the string to decode (otherwise the
function fails if it finds white space). Furthermore, the character
'>' is considered as "space", too (so you don't have trouble with
mbox mailboxes that accidentally quote "From").
By default, the 63rd character of the alphabet is '+', and the
64th character is '/'. By passing plus
and slash
you can
choose different characters.
val decode_tstring : ?pos:int ->
?len:int ->
?accept_spaces:bool ->
?plus:char -> ?slash:char -> Netsys_types.tstring -> Stdlib.Bytes.t
Same for tagged string inputs. The result are always bytes, though
val decode_poly : ?pos:int ->
?len:int ->
?accept_spaces:bool ->
?plus:char ->
?slash:char -> 's Netstring_tstring.tstring_ops -> 's -> Stdlib.Bytes.t
Polymorphic version
class encoding_pipe :?linelength:int -> ?crlf:bool -> ?plus:char -> ?slash:char -> unit ->
Netchannels.pipe
This pipe encodes the data written into the pipe.
class decoding_pipe :?accept_spaces:bool -> ?plus:char -> ?slash:char -> unit ->
Netchannels.pipe
This pipe decodes the data written into the pipe.