glibmm: URI Utilities

glibmm 2.66.6

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=std::string())
| 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=std::string(), 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 = `std::string()`,
|  | 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

  unescaped | The unescaped input string.
  reserved_chars_allowed | A string of reserved characters that are allowed to be used.
  allow_utf8 | true 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 = `std::string()`
| ) |  |

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_string | An escaped string to be unescaped.
  illegal_characters | An optional string of illegal characters not to be allowed.

Returns
  An unescaped version of escaped_string.

Since glibmm 2.16: