glibmm: URI Utilities

Various uri-related functions. More...


std::string Glib::uri_unescape_string (const std::string& escaped_string, const std::string& illegal_characters={})
 Unescapes a whole escaped string. More...

std::string Glib::uri_parse_scheme (const std::string& uri)
 Gets the scheme portion of a URI. More...

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. More...


Detailed Description

Various uri-related functions.

Function Documentation

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.

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.
An escaped version of unescaped.
Since glibmm 2.16:
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.

The "Scheme" component of the URI, or an empty string on error.
Since glibmm 2.16:
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.

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