module QuotedPrintable:sig
..end
This implementation assumes that the encoded string has a text MIME
type. On input both CR/LF and LF are accepted as end-of-line (eol) terminators,
but the output normalizes the eol delimiter as the crlf
argument
specifies. Note that this implies that
crlf
, the output uses CR/LF as line separator as MIME prescribesval encode : ?crlf:bool -> ?pos:int -> ?len:int -> string -> string
Since OcamlNet 0.98, soft line breaks are added to the output to ensure that all output lines have a length <= 76 bytes.
Note unsafe characters:
As recommended by RFC 2045, the characters !#$@[]^`|{}~
and the double quotes
are additionally represented as hex tokens.
Furthermore, the letter 'F' is considered as unsafe if it
occurs at the beginning of the line, so the encoded text
never contains the word "From" at the beginning of a line.
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.
If crlf
is set (the default), the output text uses CR/LF as
line separator. Otherwise only LF is used.
val encode_tstring : ?crlf:bool -> ?pos:int -> ?len:int -> Netsys_types.tstring -> Bytes.t
val encode_poly : ?crlf:bool ->
?pos:int -> ?len:int -> 's Netstring_tstring.tstring_ops -> 's -> Bytes.t
val decode : ?pos:int -> ?len:int -> string -> string
Most format errors cause an Invalid_argument
exception.
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.
val decode_tstring : ?pos:int -> ?len:int -> Netsys_types.tstring -> Bytes.t
val decode_poly : ?pos:int -> ?len:int -> 's Netstring_tstring.tstring_ops -> 's -> Bytes.t
class encoding_pipe :?crlf:bool -> unit ->
Netchannels.pipe
class decoding_pipe :unit ->
Netchannels.pipe