GLib 提供了以 UTF-8 编码的结构体 GString。
我知道有一些函数可以将单个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 提供的所有字符串函数。
最佳答案
GLib提供了几个Character Set Conversion功能。如果您对它们不采用 GString
感到困惑,您可以使用 str
和 len
字段获取底层指针和长度。
关于c - GLib 将 GString 从 UTF-8 转换为 UTF-16/32 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23986237/