uuuu

Mapper of ISO-8859-* to Unicode
IN THIS PACKAGE
Module Uuuu
type encoding = [
| `ISO_8859_1
| `ISO_8859_2
| `ISO_8859_3
| `ISO_8859_4
| `ISO_8859_5
| `ISO_8859_6
| `ISO_8859_7
| `ISO_8859_8
| `ISO_8859_9
| `ISO_8859_10
| `ISO_8859_11
| `ISO_8859_13
| `ISO_8859_14
| `ISO_8859_15
| `ISO_8859_16
]

The type of ISO-8859.

val encoding_of_string : string -> encoding

encoding_of_string s converts a (case insensitive) IANA character set name to an encoding.

val encoding_to_string : encoding -> string

encoding_to_string e is a IANA character set name for e.

type 'kind decoder constraint 'kind = [< encoding ]

The type for decoders.

type src = [
| `Manual
| `Channel of in_channel
| `String of string
]

The type for input sources. With a `Manual source the client must provide input with src.

type decode = [
| `Await
| `End
| `Uchar of Uchar.t
| `Malformed of string
]
val pp_decode : Format.formatter -> [< decode ] -> unit
val src : 'kind decoder -> Bytes.t -> int -> int -> unit

src d s j l provides d with l bytes to read, starting at j in s. This byte range is read by calls to decode with d until `Await is returned. To signal the end of input call the function with l = 0.

val decoder : [< encoding ] as 'kind -> src -> 'kind decoder

decoder encoding src is a decoder that inputs from src.

Encoding. encoding specifies the decoded encoding scheme.

val decode : 'kind decoder -> decode

decode d is:

  • `Await if d has a `Manual input source and awaits for more input. The client must use src to provide it.
  • `Uchar u if a Unicode scalar value u was decoder.
  • `End if the end of input was reached.
  • `Malformed err if d encountered an error err.

Note. Repeated invocation always eventually returns `End, even in case of errors.

val decoder_byte_count : 'kind decoder -> int

decoder_byte_count d is the number of characters already decoder on d (including malformed ones). This is the last decode's and byte offset counting from beginning of the stream.

val decoder_src : 'kind decoder -> src

decoder_src d is d's input source.

val decoder_kind : 'kind decoder -> 'kind

decoder_kind d is d's the decoded encoding scheme of d.

module Char : sig ... end
module String : sig ... end