函数

GLibfilename_display_name

自:2.6 起

声明 [src]

gchar*
g_filename_display_name (
  const gchar* filename
)

说明 [src]

将文件名转换为有效的 UTF-8 字符串。该转换不一定可逆,因此应保留原始内容并将此函数的返回值仅用于显示目的。与 g_filename_to_utf8() 不同,即使文件名实际上不采用 GLib 文件名编码,结果也保证为非 NULL

如果 GLib 无法理解 filename 的编码,则作为最后的手段,它会用 U+FFFD(Unicode 替换字符)替换未知字符。可以对此结果执行搜索以查找此字符的 UTF-8 编码(以八进制表示法为“\357\277\275”),以了解 filename 是否采用无效编码。

如果您知道文件的完整路径名,应使用 g_filename_display_basename(),因为它允许根据位置对文件名进行翻译。

自 2.6 起可用

参数

filename

类型: const gchar*

希望采用 GLib 文件名编码的路径名。

该数据由函数调用者所有。
该值是平台原生字符串,在 Unix 上使用首选操作系统编码,在 Windows 上使用 UTF-8。

返回值

类型: gchar*

一个新分配的字符串,其中包含使用有效 UTF-8 表示的文件名。

函数调用者获取该数据的所有权,并负责释放该数据。
该值是使用空值终止的 UTF-8 字符串。