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

标签 c encoding utf-8 character-encoding glib

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 感到困惑,您可以使用 strlen 字段获取底层指针和长度。

关于c - GLib 将 GString 从 UTF-8 转换为 UTF-16/32 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23986237/

相关文章:

javascript - jquery.min.js 获取错误字符

c# - 如何将二进制 blob 编码为 Unicode blob?

没有 Pandas 的Python解码excel表

c - 是否可以在#define 子句中的函数中声明变量

java - java二维数组中的代码位置

c - 在 C 结构上使用 free

php - PHP 中 MySQL 的 UTF-8 字符集问题

python - 在python中打开带有重音符号的文本文件

c - NFS ACL GET ACL/SET ACL 结构

c - 寻找描述使用 *.wav (RIFF) 文件的步骤的指南或书籍