函数

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_ALLLC_CTYPELANGCHARSET。如果 setlocale() 未加载语言环境,则 nl_langinfo() 返回 C 语言环境。

如果语言环境的编码为 UTF-8,则返回值为 TRUE,在这种情况下,您可能可以避免调用 g_convert()。

charset 中返回的字符串未分配,不应释放。

参数

charset

类型: const char**

字符集名称的返回位置,或 NULL

该参数将由函数设置。
该参数可以为 NULL
返回的数据归函数所有。
该值是 NUL 结尾的 UTF-8 字符串。

返回值

类型: gboolean

如果返回的字符集为 UTF-8,则返回 TRUE