函数
GLibget_charset
声明 [src]
gboolean
g_get_charset (
const char** charset
)
说明 [src]
获取 [当前语言环境][setlocale] 的字符集;可以使用此字符集作为 g_convert() 的参数,以将当前语言环境的编码转换为其他编码。(不过,通常情况下,g_locale_to_utf8()
和 g_locale_from_utf8()
是不错的快捷方式。)
在 Windows 上,此函数返回的字符集是所谓的系统默认 ANSI 代码页。即 C 库和处理文件名的 Win32 函数的“窄”版本使用的字符集。它可能不同于 C 库的当前语言环境使用的字符集。
在 Linux 上,如果可用,可以通过查阅 nl_langinfo()
找到字符集。如果不可用,则按顺序查询环境变量 LC_ALL
、LC_CTYPE
、LANG
和 CHARSET
。如果 setlocale() 未加载语言环境,则 nl_langinfo()
返回 C 语言环境。
如果语言环境的编码为 UTF-8,则返回值为 TRUE
,在这种情况下,您可能可以避免调用 g_convert()。
charset
中返回的字符串未分配,不应释放。