Module Markup.Encoding

module Encoding: sig .. end

Common Internet encodings such as UTF-8 and UTF-16; also includes some less popular encodings that are sometimes used for XML.


type t 

Decoders. These are notionally maps from byte streams to Unicode scalar value streams, i.e. pseudocode type char stream -> int stream.

val decode : ?report:(Markup.location -> Markup.Error.t -> unit) ->
t -> (char, 's) Markup.stream -> (int, 's) Markup.stream

Applies a decoder to a byte stream. Illegal input byte sequences result in calls to the error handler ~report with error kind `Decoding_error. The illegal bytes are then skipped, and zero or more U+FFFD replacement characters are emitted. The default handler ignores errors.

The locations provided to the error handler by the built-in decoders below in this module are fully accurate only if the input byte stream uses LF characters as line breaks.

val utf_8 : t
val utf_16be : t
val utf_16le : t
val utf_16 : t
val iso_8859_1 : t
val us_ascii : t
val windows_1251 : t
val windows_1252 : t
val ucs_4be : t
val ucs_4le : t
val ucs_4be_transposed : t
val ucs_4le_transposed : t
val ebcdic : t

Code page 37.