函数
GLibUriunescape_bytes
since: 2.66
声明 [src]
GBytes*
g_uri_unescape_bytes (
const char* escaped_string,
gssize length,
const char* illegal_characters,
GError** error
)
描述 [src]
将转义字符串的一个片段转义为二进制数据。
注意,与 g_uri_unescape_string() 相比,这允许输出中出现空字节。
如果 illegal_characters 中的任何字符在 escaped_string 中作为转义字符出现,则这是一个错误,并且会返回 NULL。当您想要避免在转义的路径元素中展开斜杠等字符时,这非常有用,这些字符可能会在路径处理中引起混淆。
从 2.66 版本起可用
参数
escaped_string-
类型:
const char*一个 URI 转义字符串。
这些数据由函数的调用者拥有。 值是一个以空字符终止的 UTF-8 字符串。 length-
类型:
gssize要转义的
escaped_string的长度(以字节为单位),如果它是空终止的,则为-1。 illegal_characters-
类型:
const char*不允许出现的非法字符字符串,或
NULL。参数可以是 NULL。这些数据由函数的调用者拥有。 值是一个以空字符终止的 UTF-8 字符串。 error-
类型:
GError **一个可恢复错误的返回位置。
参数可以是 NULL。如果返回位置不为 NULL,则必须将其初始化为NULLGError*。如果没有错误,则函数会接受初始化到 NULL的参数。如果出现错误,参数将设置为一个新的分配的 GError;调用者将接管数据,并负责释放它。
返回值
类型: GBytes
去除转义后的escaped_string版本或在错误情况下NULL(如果解码失败,使用G_URI_ERROR_FAILED错误代码)。返回的GBytes在不使用时应解除引用。
| 函数的调用者负责获取数据所有权,并负责释放它。 |