GLIB将GString从UTF-8转换为UTF-16/32可能吗?

时间:2014-06-02 01:32:35

标签: c encoding utf-8 character-encoding glib

GLib提供struct GString ,它以UTF-8编码。

我知道有一些函数可以将单个 gchar (UTF-8)转换为 gunicode (UTF-32)或 gunicode2 (UTF -16)。

但如果我想将完整的GString转换为UTF-16 / UTF-32,这可能吗?

如果没有,我没有看到将大部分文本存储在UTF-8字符串中的重点,但是你只能将单个字符转换为UTF-16 / UTF-32并且在GString时被强制使用gunicode数组封装了那些讨厌的数组。并且您将无法使用UTF-16 / UTF-32阵列上的glib提供的所有字符串函数。

1 个答案:

答案 0 :(得分:1)

GLib提供了几个Character Set Conversion功能。如果您对不使用GString的人感到困惑,可以使用strlen字段获取基础指针和长度。