Module type CamomileLibrary.CharEncoding.Interface

module type Interface = sig .. end


Module for character encodings.
exception Malformed_code
Failure of decoding
exception Out_of_range
Failure of encoding
type t 
Type for encodings.
val automatic : string ->
t list ->
t ->
t
automatic name [enc_1; enc_2; ... enc_n] enc creates the new encoding name doing automatic encoding detection among enc_1, enc_2, ..., enc_n by the given order. enc is used for encoding.
val new_enc : string -> t -> unit
new_enc name enc registers the new encoding enc under the name name
val alias : string -> string -> unit
alias alias name : Define alias as an alias of the encoding with the name name.
val of_name : string -> t
Returns the encoding of the given name. Fails if the encoding is unknown. Encoding names are the same to codeset names in charmap files for the encodings defined by charmap. See charmaps directory in the source directory for the available encodings. In addition to the encodings via the charmap files, camomile supports ISO-2022-CN, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-KR, jauto (Auto detection of Japanese encodings), UTF-8, UTF-16, UTF-16BE, UTF-16LE. UTF-32, UTF-32BE, UTF-32LE, UCS-4(Big endian order). The encoding also can be referred by "IANA/<IANA name>", if the encoding is supported.
val name_of : t -> string
Returns the name of the encoding.

Shortcuts
val ascii : t
val latin1 : t
val utf8 : t
val utf16 : t
val utf16be : t
val utf16le : t
val utf32 : t
val utf32be : t
val utf32le : t
val ucs4 : t
val recode_string : in_enc:t ->
out_enc:t -> string -> string
recode_string ~in_enc ~out_enc s converts the string s from in_enc to out_enc.
class uchar_input_channel_of : t -> CamomileLibrary.OOChannel.char_input_channel -> [CamomileLibrary.UChar.t] CamomileLibrary.OOChannel.obj_input_channel
new uchar_input_channel_of enc c_in creates the new intput channel which convert characters to Unicode using encoding enc.
class uchar_output_channel_of : t -> CamomileLibrary.OOChannel.char_output_channel -> [CamomileLibrary.UChar.t] CamomileLibrary.OOChannel.obj_output_channel
new uchar_ouput_channel_of enc c_out creates the new output channel which convert Unicode to its byte representation using encoding enc.
class convert_uchar_input : t -> CamomileLibrary.UChar.t CamomileLibrary.OOChannel.obj_input_channel -> CamomileLibrary.OOChannel.char_input_channel
new convert_uchar_input enc c_in creates the new channel which convert Unicode input to its byte representation using encoding enc.
class convert_uchar_output : t -> CamomileLibrary.UChar.t CamomileLibrary.OOChannel.obj_output_channel -> CamomileLibrary.OOChannel.char_output_channel
new convert_uchar_output enc c_in creates the new channel which convert character output to Unicode using encoding enc.
class convert_input : in_enc:t -> out_enc:t -> CamomileLibrary.OOChannel.char_input_channel -> CamomileLibrary.OOChannel.char_input_channel
new convert_input in_enc out_enc c_in create the new input channel using encoding out_enc from the input channel using encoding in_enc
class convert_output : in_enc:t -> out_enc:t -> CamomileLibrary.OOChannel.char_output_channel -> CamomileLibrary.OOChannel.char_output_channel
new convert_ouput in_enc out_enc c_in create the new output channel using encoding in_enc from the output channel using encoding out_enc
class out_channel : t -> Pervasives.out_channel -> [CamomileLibrary.UChar.t] CamomileLibrary.OOChannel.obj_output_channel
new out_channel enc outchan creates the output channel object CamomileLibrary.OOChannel.obj_output_channel which receives Unicode characters and outputs them to outchan using the encoding enc.
class in_channel : t -> Pervasives.in_channel -> [CamomileLibrary.UChar.t] CamomileLibrary.OOChannel.obj_input_channel
new in_channel enc inchan creates the intput channel object CamomileLibrary.OOChannel.obj_input_channel which reads bytes from inchan and converts them to Unicode characters.
val ustream_of : t ->
char Stream.t -> CamomileLibrary.UChar.t Stream.t
ustream_of enc chars converts the byte stream chars to the Unicode character stream by the encoding enc.
val char_stream_of : t ->
CamomileLibrary.UChar.t Stream.t -> char Stream.t
char_stream_of enc uchars converts the Unicode character stream uchars to the byte stream by the encoding enc
module type Type = sig .. end
module Make: 
functor (Text : CamomileLibrary.UnicodeString.Type) -> Type with type text = Text.t