函数

GLibutf8_make_valid

自:2.52

声明 [src]

gchar*
g_utf8_make_valid (
  const gchar* str,
  gssize len
)

描述 [src]

如果提供的字符串是有效的 UTF-8,返回它的拷贝。如果不是,返回一个将无法解释为有效 Unicode 的字节替换为 Unicode 替换字符 (U+FFFD) 的拷贝。

例如,如果你接收到的字符串被不正确地声明为 UTF-8,你需要一个有效的 UTF-8 版本以便记录或显示给用户,和你需要一个有效的 UTF-8 版本以便记录或显示给用户,你可以使用这一合适函数,它的前提是它足够接近 ASCIIUTF-8 并且大部分内容本身就是可读的。

自版本 2.52 起提供此功能

参数

str

类型: const gchar*

强制转换为 UTF-8 的字符串。

数据属于该函数的调用方。
该值为以 NUL 结尾的 UTF-8 字符串。
len

类型: gssize

要使用的 str 的最大长度(以字节为单位)。如果 len 为负,则字符串 以空终止。

返回值

类型: gchar*

一个有效 UTF-8 字符串,其内容类似于 str

该函数的调用方拥有该数据的所权,并负责释放它。
该值为以 NUL 结尾的 UTF-8 字符串。