# Module Cf_unicode

    module Cf_unicode: sig .. end

Unicode transcodings.

This module contains a collection of utilities for transcoding streams of Unicode characters between various encoding formats, i.e. UTF8, UTF16 and UCS4.

    module type Encoding_T = sig .. end

The module type defining the relationship between UCS4 and a given UTF encoding of Unicode characters.

    module E_utf8: Encoding_T

The UTF8 encoding

    module E_utf16be: Encoding_T

The UTF16 encoding (big-endian)

    module E_utf16le: Encoding_T

The UTF16 encoding (little-endian)

    val any_utf_to_ucs4 : (char Cf_seq.t option, int) Cf_flow.t

A flow that transcodes any Unicode encoded character stream into a stream of 31-bit UCS4 integer codes. Determines the encoding format by reading the barker code from the beginning of the input stream.

    val ucs4_to_utf16 : [< `BE | `LE ] -> (int, char) Cf_flow.t

Use `ucs4_to_utf16 endian` to compose a flow that reads a stream of 31-bit UCS4 integer codes and writes a stream comprised of the barker code followed by a stream of UTF16 characters in the 'endian' mode specified.

    module type Transcoding_T = sig .. end

The module type that results from the application of the `C_create(E:
Encoding_T)` functor below.

    module C_create: functor (E : Encoding_T) -> Transcoding_T  with module E = E

The functor used to compose the transcoding modules defined below.

    module C_utf8_to_utf16be: Transcoding_T

Functions for transcoding UTF8 into UTF16 (big-endian)

    module C_utf8_to_utf16le: Transcoding_T

Functions for transcoding UTF8 into UTF16 (little-endian)

    module C_utf8_to_utf16be_raw: Transcoding_T

Functions for transcoding UTF8 into UTF16 (big-endian, no barker code)

    module C_utf8_to_utf16le_raw: Transcoding_T

Functions for transcoding UTF8 into UTF16 (little-endian, no barker code)

    module C_utf16be_to_utf8: Transcoding_T

Functions for transcoding UTF16 (big-endian, no barker code) into UTF8.

    module C_utf16le_to_utf8: Transcoding_T

Functions for transcoding UTF16 (little-endian, no barker code) into UTF8.

    module C_any_utf_to_utf8: Transcoding_T

Functions for transcoding any Unicode character stream into UTF8.

    module C_any_utf_to_utf16be: Transcoding_T

Functions for transcoding any Unicode character stream into UTF16 (big-endian).

    module C_any_utf_to_utf16le: Transcoding_T

Functions for transcoding any Unicode character stream into UTF16 (little-endian).

    module C_any_utf_to_utf16be_raw: Transcoding_T

Functions for transcoding any Unicode character stream into UTF16 (big-endian, no barker code).

    module C_any_utf_to_utf16le_raw: Transcoding_T

Functions for transcoding any Unicode character stream into UTF16 (little-endian, no barker code).