Module Glib.Utf8

module Utf8: sig .. end
Unicode Manipulation
GTK documentation: glib-Unicode-Manipulation

UTF-8 handling, and conversion to UCS-4
val validate : string -> bool
If you read an UTF-8 string from somewhere, you should validate it, or risk random segmentation faults
val length : string -> int
val from_unichar : Glib.unichar -> string
from_unichar 0xiii converts a code point iii (usually in hexadecimal form) into a string containing the UTF-8 encoded character 0xiii. See for charmaps. Does not check that the given code point is a valid unicode point.
val from_unistring : Glib.unistring -> string
val to_unichar_validated : string -> pos:int Pervasives.ref -> Glib.unichar
to_unichar_validated decodes an UTF-8 encoded code point and checks for incomplete characters, invalid characters and overlong encodings.
Raises Convert.Error if invalid
val to_unichar : string -> pos:int Pervasives.ref -> Glib.unichar
to_unichar decodes an UTF-8 encoded code point. Result is undefined if pos does not point to a valid UTF-8 encoded character.
val to_unistring : string -> Glib.unistring
to_unistring decodes an UTF-8 encoded string into an array of unichar. The string must be valid.
val first_char : string -> Glib.unichar
val offset_to_pos : string -> pos:int -> off:int -> int
type normalize_mode = [ `ALL | `ALL_COMPOSE | `DEFAULT | `DEFAULT_COMPOSE ] 
val normalize : string -> normalize_mode -> string
val uppercase : string -> string
val lowercase : string -> string
val casefold : string -> string
val collate : string -> string -> int
val collate_key : string -> string