package gapi-ocaml

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

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 -> 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 -> 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 -> 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 -> 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. * linelength and crlf work as in encode.

class decoding_pipe : ?accept_spaces:bool -> ?plus:char -> ?slash:char -> unit -> Netchannels.pipe

This pipe decodes the data written into the pipe. * url_variant and accept_spaces work as in decode.

OCaml

Innovation. Community. Security.