# Module Glib.Convert

    module Convert: sig .. end

Character Set Conversion

    type error =

`|` | `NO_CONVERSION` | `(*` | Conversion between the requested character sets is not supported | `*)`
`|` | `ILLEGAL_SEQUENCE` | `(*` | Invalid byte sequence in conversion input | `*)`
`|` | `FAILED` | `(*` | Conversion failed for some reason | `*)`
`|` | `PARTIAL_INPUT` | `(*` | Partial character sequence at end of input | `*)`
`|` | `BAD_URI` | `(*` | URI is invalid | `*)`
`|` | `NOT_ABSOLUTE_PATH` | `(*` | Pathname is not an absolute path | `*)`

    exception Error of error * string

    val convert : string -> to_codeset:string -> from_codeset:string -> string

Raises `Error` .

    val convert_with_fallback : ?fallback:string ->
           to_codeset:string -> from_codeset:string -> string -> string

Raises `Error` .
All internal strings are encoded in utf8: you should use the following conversion functions

    val locale_from_utf8 : string -> string

Converts the input string from `UTF-8` to the encoding of the current locale. If the locale's encoding is `UTF-8`, the string is simply validated and returned unmodified.
Raises

- `Error` if the conversion fails
- `Error` if the string is not a valid `UTF-8` string

    val locale_to_utf8 : string -> string

Raises `Error` .
Converts the input string from the encoding of the current locale to `UTF-8`. If the locale's encoding is `UTF-8`, the string is simply validated and returned unmodified.

    val filename_from_utf8 : string -> string

Raises `Error` .

    val filename_to_utf8 : string -> string

Raises `Error` .

    val filename_from_uri : string -> string option * string

Raises `Error` .

    val filename_to_uri : ?hostname:string -> string -> string

Raises `Error` .

    val get_charset : unit -> bool * string

Obtains the character set for the current locale.
Returns the pair `u,s` where `u` is true if the character set is `UTF-8` and `s` is the character set name