函数

GLibutf8_get_char_validated

声明 [src]

gunichar
g_utf8_get_char_validated (
  const gchar* p,
  gssize max_len
)

描述 [src]

将编码为 UTF-8 的字节序列转换为 Unicode 字符。

此函数会检查不完整的字符、超出 Unicode 范围的字符以及有效字符的过长编码。

注意,如果 max_len 为正并且 UTF-8 字符序列中的任何字节都是空字符,则 g_utf8_get_char_validated() 返回 (gunichar)-2

参数

p

类型: const gchar*

指向编码为 UTF-8 的 Unicode 字符的指针。

数据由函数的调用者拥有。
值是一个以 NUL 结尾的 UTF-8 字符串。
max_len

类型: gssize

要读取的最大字节数,如果 p 以空字符结尾,则返回 -1

返回值

类型: gunichar

结果字符。如果 p 指向字符串末尾的可以开始有效字符的序列的末尾(或如果 max_len 为零),返回 (gunichar)-2;否则,如果 p 不指向有效的 UTF-8 编码的 Unicode 字符,则返回 (gunichar)-1