函数

GLibUriescape_bytes

since: 2.66

声明 [src]

char*
g_uri_escape_bytes (
  const guint8* unescaped,
  gsize length,
  const char* reserved_chars_allowed
)

描述 [src]

将任意数据转义以用于 URI

通常所有不属于“未保留”的字符(即 ASCII 字母数字字符加上破折号、点、下划线和波浪号)都会被转义。但如果你在 reserved_chars_allowed 中指定了字符,则不会被转义。这在处理 URI 规范中的“保留”字符时很有用,因为在 URI 的一些部分,那些字符允许未被转义。

技术上不正确,但这也允许转义空字节为 %``00

自版本 2.66 以来可用

参数

unescaped

类型: 一个 guint8 数组

未转义的输入数据。

数组的长度指定在 length 参数中。
数据由函数的调用者拥有。
length

类型: gsize

unescaped 的长度。

reserved_chars_allowed

类型: const char*

一个字符串,表示允许使用的保留字符,或 NULL

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

返回值

类型: char*

unescaped 的转义版本。当不再需要时,应释放返回的字符串。

函数的调用者接管数据,并负责释放它。
值是一个以 NUL 结尾的 UTF-8 字符串。