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提供的所有字符串函数。
答案 0 :(得分:1)
GLib提供了几个Character Set Conversion功能。如果您对不使用GString
的人感到困惑,可以使用str
和len
字段获取基础指针和长度。