Plasma GitLab Archive
Projects Blog Knowledge

Module Netencoding.Base64


module Base64: sig .. end


Base64 encoding as described in RFC 2045
val encode : ?pos:int -> ?len:int -> ?linelength:int -> ?crlf:bool -> 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.)

val url_encode : ?pos:int -> ?len:int -> ?linelength:int -> ?crlf:bool -> string -> string
Deprecated.Since Ocamlnet 0.98, this function is deprecated, as it is non-standard, and it has a confusing name.
Same as encode but use slightly different characters that can be part of URLs without additional encodings. The encoded string consists only of the characters a-z, A-Z, 0-9, -, /, . url_encode does not implement the Base 64 encoding as described in the standard!


val decode : ?pos:int ->
?len:int -> ?url_variant:bool -> ?accept_spaces:bool -> 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 url_variant (default: true) is set, the functions also accepts the characters '-' and '.' as produced by url_encode.

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").

class encoding_pipe : ?linelength:int -> ?crlf:bool -> unit -> Netchannels.pipe
This pipe encodes the data written into the pipe.
class decoding_pipe : ?url_variant:bool -> ?accept_spaces:bool -> unit -> Netchannels.pipe
This pipe decodes the data written into the pipe.
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml