glibmm 2.80.0
Functions
URI Utilities

Various uri-related functions. More...

Functions

std::string Glib::uri_unescape_string (const std::string &escaped_string, const std::string &illegal_characters={})
 Unescapes a whole escaped string.
 
std::string Glib::uri_parse_scheme (const std::string &uri)
 Gets the scheme portion of a URI.
 
std::string Glib::uri_escape_string (const std::string &unescaped, const std::string &reserved_chars_allowed={}, bool allow_utf8=true)
 Escapes a string for use in a URI.
 

Detailed Description

Various uri-related functions.

Function Documentation

◆ uri_escape_string()

std::string Glib::uri_escape_string ( const std::string unescaped,
const std::string reserved_chars_allowed = {},
bool  allow_utf8 = true 
)

Escapes a string for use in a URI.

Normally all characters that are not "unreserved" (i.e. ASCII alphanumerical characters plus dash, dot, underscore and tilde) are escaped. But if you specify characters in reserved_chars_allowed they are not escaped. This is useful for the "reserved" characters in the URI specification, since those are allowed unescaped in some portions of a URI.

Parameters
unescapedThe unescaped input string.
reserved_chars_allowedA string of reserved characters that are allowed to be used.
allow_utf8true if the result can include UTF-8 characters.
Returns
An escaped version of unescaped.
Since glibmm 2.16:

◆ uri_parse_scheme()

std::string Glib::uri_parse_scheme ( const std::string uri)

Gets the scheme portion of a URI.

RFC 3986 decodes the scheme as:

URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

Common schemes include "file", "http", "svn+ssh", etc.

Parameters
uri
Returns
The "Scheme" component of the URI, or an empty string on error.
Since glibmm 2.16:

◆ uri_unescape_string()

std::string Glib::uri_unescape_string ( const std::string escaped_string,
const std::string illegal_characters = {} 
)

Unescapes a whole escaped string.

If any of the characters in illegal_characters or the character zero appears as an escaped character in escaped_string then that is an error and an empty string will be returned. This is useful it you want to avoid, for instance, having a slash being expanded in an escaped path element, which might confuse pathname handling.

Parameters
escaped_stringAn escaped string to be unescaped.
illegal_charactersAn optional string of illegal characters not to be allowed.
Returns
An unescaped version of escaped_string.
Since glibmm 2.16: