<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>glibmm 2.4: Character Set Conversion</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#ffffff"> <table border="0" width="100%"> <tr> <td width="10%" height="40"><img src="../../images/gtkmm_logo.gif" alt="logo" border="0" width="100%" height="100%"/></td> <td width="90%" height="40"><img src="../../images/top.gif" alt="top" width="100%" height="40"/></td> </tr> </table> <center> <a class="qindex" href="../../../../gtkmm-2.4/docs/index.html">Main Page</a> <a href="../../../../gtkmm-2.4/docs/reference/html/group__Widgets.html">Widgets</a> <a class="qindex" href="namespaces.html">glibmm Namespaces</a> <a href="../../../../gtkmm-2.4/docs/tutorial/html/index.html"> Book</a> </center> <hr width="100%"/> <!-- begin main content --> <div id="content"> <!-- Generated by Doxygen 1.5.3 --> <h1>Character Set Conversion</h1>Utility functions for converting strings between different character sets. <a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1ConvertError.html">Glib::ConvertError</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classGlib_1_1Exception.html">Exception</a> class for charset conversion errors. <a href="classGlib_1_1ConvertError.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1IConv.html">Glib::IConv</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Thin iconv() wrapper. <a href="classGlib_1_1IConv.html#_details">More...</a><br></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#gbf5fac564c47a7a9ad6037044c3909f4">Glib::get_charset</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the charset used by the current locale. <a href="#gbf5fac564c47a7a9ad6037044c3909f4"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#g88965337df48a173a6b013e8243e4631">Glib::get_charset</a> (<a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& charset)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the charset used by the current locale. <a href="#g88965337df48a173a6b013e8243e4631"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#g58f7e4556c436a96c64b186bbc8f7f4c">Glib::convert</a> (const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& str, const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& to_codeset, const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& from_codeset)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert from one encoding to another. <a href="#g58f7e4556c436a96c64b186bbc8f7f4c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#g40b5aa172fabd1f3dbf50a962d0d351f">Glib::convert_with_fallback</a> (const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& str, const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& to_codeset, const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& from_codeset)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Converts a string from one character set to another, possibly including fallback sequences for characters not representable in the output. <a href="#g40b5aa172fabd1f3dbf50a962d0d351f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#gf1b091e4397a7637e884148484b1f71e">Glib::convert_with_fallback</a> (const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& str, const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& to_codeset, const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& from_codeset, const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& fallback)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Converts a string from one character set to another, possibly including fallback sequences for characters not representable in the output. <a href="#gf1b091e4397a7637e884148484b1f71e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#g4517b17f2aad4cd5c0e0640de212d928">Glib::locale_to_utf8</a> (const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& opsys_string)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert from the current locale's encoding to UTF-8. <a href="#g4517b17f2aad4cd5c0e0640de212d928"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#gcc062729285890a7e9b22bece6fb987c">Glib::locale_from_utf8</a> (const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& utf8_string)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert from UTF-8 to the current locale's encoding. <a href="#gcc062729285890a7e9b22bece6fb987c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#g6cf95dc00505401594260a360d70c17b">Glib::filename_to_utf8</a> (const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& opsys_string)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Converts a string which is in the encoding used for filenames into a UTF-8 string. <a href="#g6cf95dc00505401594260a360d70c17b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#g2bd94064ad97b43324a7854b62f0835b">Glib::filename_from_utf8</a> (const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& utf8_string)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Converts a string from UTF-8 to the encoding used for filenames. <a href="#g2bd94064ad97b43324a7854b62f0835b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#gda23cd7f7dc8eb25e99b867a55551763">Glib::filename_from_uri</a> (const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& uri, <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& hostname)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Converts an escaped UTF-8 encoded URI to a local filename in the encoding used for filenames. <a href="#gda23cd7f7dc8eb25e99b867a55551763"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#gb1cb94f4a4a70bad06b715fb14a252d9">Glib::filename_from_uri</a> (const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& uri)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Converts an escaped UTF-8 encoded URI to a local filename in the encoding used for filenames. <a href="#gb1cb94f4a4a70bad06b715fb14a252d9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#ge1b2f056bde3fbab578c602fe42e3de9">Glib::filename_to_uri</a> (const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& filename, const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& hostname)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Converts an absolute filename to an escaped UTF-8 encoded URI. <a href="#ge1b2f056bde3fbab578c602fe42e3de9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#gaf69aec83665229cc06596cf627d9d5a">Glib::filename_to_uri</a> (const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& filename)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Converts an absolute filename to an escaped UTF-8 encoded URI. <a href="#gaf69aec83665229cc06596cf627d9d5a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#g05dd67157ad35da4401263247b6f4d81">Glib::filename_display_basename</a> (const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& filename)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the display basename for the particular filename, guaranteed to be valid UTF-8. <a href="#g05dd67157ad35da4401263247b6f4d81"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CharsetConv.html#gbc1b404cc965f3da6beecddfe2623afc">Glib::filename_display_name</a> (const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a>& filename)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Converts a filename into a valid UTF-8 string. <a href="#gbc1b404cc965f3da6beecddfe2623afc"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Utility functions for converting strings between different character sets. <p> <hr><h2>Function Documentation</h2> <a class="anchor" name="g58f7e4556c436a96c64b186bbc8f7f4c"></a><!-- doxytag: member="Glib::convert" ref="g58f7e4556c436a96c64b186bbc8f7f4c" args="(const std::string &str, const std::string &to_codeset, const std::string &from_codeset)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> Glib::convert </td> <td>(</td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>to_codeset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>from_codeset</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Convert from one encoding to another. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>str</em> </td><td>The string to convert. </td></tr> <tr><td valign="top"></td><td valign="top"><em>to_codeset</em> </td><td>Name of the target charset. </td></tr> <tr><td valign="top"></td><td valign="top"><em>from_codeset</em> </td><td>Name of the source charset. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The converted string. </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classGlib_1_1ConvertError.html" title="Exception class for charset conversion errors.">Glib::ConvertError</a></em> </td><td></td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="gf1b091e4397a7637e884148484b1f71e"></a><!-- doxytag: member="Glib::convert_with_fallback" ref="gf1b091e4397a7637e884148484b1f71e" args="(const std::string &str, const std::string &to_codeset, const std::string &from_codeset, const Glib::ustring &fallback)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> Glib::convert_with_fallback </td> <td>(</td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>to_codeset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>from_codeset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& </td> <td class="paramname"> <em>fallback</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Converts a string from one character set to another, possibly including fallback sequences for characters not representable in the output. <p> <dl class="note" compact><dt><b>Note:</b></dt><dd>It is not guaranteed that the specification for the fallback sequences in <em>fallback</em> will be honored. Some systems may do a approximate conversion from <em>from_codeset</em> to <em>to_codeset</em> in their iconv() functions, in which case <a class="el" href="namespaceGlib.html">Glib</a> will simply return that approximate conversion.</dd></dl> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>str</em> </td><td>The string to convert. </td></tr> <tr><td valign="top"></td><td valign="top"><em>to_codeset</em> </td><td>Name of the target charset. </td></tr> <tr><td valign="top"></td><td valign="top"><em>from_codeset</em> </td><td>Name of the source charset. </td></tr> <tr><td valign="top"></td><td valign="top"><em>fallback</em> </td><td>UTF-8 string to be used in place of characters which aren't available in the target encoding. All characters in the fallback string <em>must</em> be available in the target encoding. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The converted string. </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classGlib_1_1ConvertError.html" title="Exception class for charset conversion errors.">Glib::ConvertError</a></em> </td><td></td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g40b5aa172fabd1f3dbf50a962d0d351f"></a><!-- doxytag: member="Glib::convert_with_fallback" ref="g40b5aa172fabd1f3dbf50a962d0d351f" args="(const std::string &str, const std::string &to_codeset, const std::string &from_codeset)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> Glib::convert_with_fallback </td> <td>(</td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>to_codeset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>from_codeset</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Converts a string from one character set to another, possibly including fallback sequences for characters not representable in the output. <p> Characters not in the target encoding will be represented as <a class="el" href="namespaceGlib_1_1Unicode.html">Unicode</a> escapes <code>\x{XXXX}</code> or <code>\x{XXXXXX}</code>. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>str</em> </td><td>The string to convert. </td></tr> <tr><td valign="top"></td><td valign="top"><em>to_codeset</em> </td><td>Name of the target charset. </td></tr> <tr><td valign="top"></td><td valign="top"><em>from_codeset</em> </td><td>Name of the source charset. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The converted string. </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classGlib_1_1ConvertError.html" title="Exception class for charset conversion errors.">Glib::ConvertError</a></em> </td><td></td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g05dd67157ad35da4401263247b6f4d81"></a><!-- doxytag: member="Glib::filename_display_basename" ref="g05dd67157ad35da4401263247b6f4d81" args="(const std::string &filename)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a> Glib::filename_display_basename </td> <td>(</td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>filename</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the display basename for the particular filename, guaranteed to be valid UTF-8. <p> The display name might not be identical to the filename, for instance there might be problems converting it to UTF-8, and some files can be translated in the display<p> You must pass the whole absolute pathname to this function so that translation of well known locations can be done.<p> This function is preferred over <a class="el" href="group__CharsetConv.html#gbc1b404cc965f3da6beecddfe2623afc" title="Converts a filename into a valid UTF-8 string.">filename_display_name()</a> if you know the whole path, as it allows translation.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>filename</em> </td><td>An absolute pathname in the GLib file name encoding. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>A string containing a rendition of the basename of the filename in valid UTF-8 </dd></dl> </div> </div><p> <a class="anchor" name="gbc1b404cc965f3da6beecddfe2623afc"></a><!-- doxytag: member="Glib::filename_display_name" ref="gbc1b404cc965f3da6beecddfe2623afc" args="(const std::string &filename)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a> Glib::filename_display_name </td> <td>(</td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>filename</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Converts a filename into a valid UTF-8 string. <p> The conversion is not necessarily reversible, so you should keep the original around and use the return value of this function only for display purposes. Unlike g_filename_to_utf8(), the result is guaranteed to be non-empty even if the filename actually isn't in the GLib file name encoding.<p> If you know the whole pathname of the file you should use g_filename_display_basename(), since that allows location-based translation of filenames.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>filename,:</em> </td><td>a pathname hopefully in the GLib file name encoding </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>A string containing a rendition of the filename in valid UTF-8. </dd></dl> </div> </div><p> <a class="anchor" name="gb1cb94f4a4a70bad06b715fb14a252d9"></a><!-- doxytag: member="Glib::filename_from_uri" ref="gb1cb94f4a4a70bad06b715fb14a252d9" args="(const Glib::ustring &uri)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> Glib::filename_from_uri </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& </td> <td class="paramname"> <em>uri</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Converts an escaped UTF-8 encoded URI to a local filename in the encoding used for filenames. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>uri</em> </td><td>A string in the encoding for filenames. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The resulting filename. </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classGlib_1_1ConvertError.html" title="Exception class for charset conversion errors.">Glib::ConvertError</a></em> </td><td></td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="gda23cd7f7dc8eb25e99b867a55551763"></a><!-- doxytag: member="Glib::filename_from_uri" ref="gda23cd7f7dc8eb25e99b867a55551763" args="(const Glib::ustring &uri, Glib::ustring &hostname)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> Glib::filename_from_uri </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& </td> <td class="paramname"> <em>uri</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& </td> <td class="paramname"> <em>hostname</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Converts an escaped UTF-8 encoded URI to a local filename in the encoding used for filenames. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>uri</em> </td><td>A string in the encoding for filenames. </td></tr> <tr><td valign="top"></td><td valign="top"><em>hostname</em> </td><td>Location to store hostname for the URI. If there is no hostname in the URI, <code>""</code> will be stored in this location. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The resulting filename. </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classGlib_1_1ConvertError.html" title="Exception class for charset conversion errors.">Glib::ConvertError</a></em> </td><td></td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g2bd94064ad97b43324a7854b62f0835b"></a><!-- doxytag: member="Glib::filename_from_utf8" ref="g2bd94064ad97b43324a7854b62f0835b" args="(const Glib::ustring &utf8_string)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> Glib::filename_from_utf8 </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& </td> <td class="paramname"> <em>utf8_string</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Converts a string from UTF-8 to the encoding used for filenames. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>utf8_string</em> </td><td>A UTF-8 encoded string. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The converted string. </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classGlib_1_1ConvertError.html" title="Exception class for charset conversion errors.">Glib::ConvertError</a></em> </td><td></td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="gaf69aec83665229cc06596cf627d9d5a"></a><!-- doxytag: member="Glib::filename_to_uri" ref="gaf69aec83665229cc06596cf627d9d5a" args="(const std::string &filename)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a> Glib::filename_to_uri </td> <td>(</td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>filename</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Converts an absolute filename to an escaped UTF-8 encoded URI. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>filename</em> </td><td>An absolute filename specified in the encoding used for filenames by the operating system. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The resulting URI. </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classGlib_1_1ConvertError.html" title="Exception class for charset conversion errors.">Glib::ConvertError</a></em> </td><td></td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="ge1b2f056bde3fbab578c602fe42e3de9"></a><!-- doxytag: member="Glib::filename_to_uri" ref="ge1b2f056bde3fbab578c602fe42e3de9" args="(const std::string &filename, const Glib::ustring &hostname)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a> Glib::filename_to_uri </td> <td>(</td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>filename</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& </td> <td class="paramname"> <em>hostname</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Converts an absolute filename to an escaped UTF-8 encoded URI. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>filename</em> </td><td>An absolute filename specified in the encoding used for filenames by the operating system. </td></tr> <tr><td valign="top"></td><td valign="top"><em>hostname</em> </td><td>A UTF-8 encoded hostname. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The resulting URI. </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classGlib_1_1ConvertError.html" title="Exception class for charset conversion errors.">Glib::ConvertError</a></em> </td><td></td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g6cf95dc00505401594260a360d70c17b"></a><!-- doxytag: member="Glib::filename_to_utf8" ref="g6cf95dc00505401594260a360d70c17b" args="(const std::string &opsys_string)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a> Glib::filename_to_utf8 </td> <td>(</td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>opsys_string</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Converts a string which is in the encoding used for filenames into a UTF-8 string. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>opsys_string</em> </td><td>A string in the encoding for filenames. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The converted string. </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classGlib_1_1ConvertError.html" title="Exception class for charset conversion errors.">Glib::ConvertError</a></em> </td><td></td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g88965337df48a173a6b013e8243e4631"></a><!-- doxytag: member="Glib::get_charset" ref="g88965337df48a173a6b013e8243e4631" args="(std::string &charset)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Glib::get_charset </td> <td>(</td> <td class="paramtype"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>charset</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Get the charset used by the current locale. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>charset</em> </td><td>Will be filled with the charset's name. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Whether the current locale uses the UTF-8 charset. </dd></dl> </div> </div><p> <a class="anchor" name="gbf5fac564c47a7a9ad6037044c3909f4"></a><!-- doxytag: member="Glib::get_charset" ref="gbf5fac564c47a7a9ad6037044c3909f4" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Glib::get_charset </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Get the charset used by the current locale. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Whether the current locale uses the UTF-8 charset. </dd></dl> </div> </div><p> <a class="anchor" name="gcc062729285890a7e9b22bece6fb987c"></a><!-- doxytag: member="Glib::locale_from_utf8" ref="gcc062729285890a7e9b22bece6fb987c" args="(const Glib::ustring &utf8_string)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> Glib::locale_from_utf8 </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a>& </td> <td class="paramname"> <em>utf8_string</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Convert from UTF-8 to the current locale's encoding. <p> Convenience wrapper around <a class="el" href="group__CharsetConv.html#g58f7e4556c436a96c64b186bbc8f7f4c" title="Convert from one encoding to another.">Glib::convert()</a>. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>utf8_string</em> </td><td>The UTF-8 string to convert. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The input string converted to the charset used by the operating system's current locale. </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classGlib_1_1ConvertError.html" title="Exception class for charset conversion errors.">Glib::ConvertError</a></em> </td><td></td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g4517b17f2aad4cd5c0e0640de212d928"></a><!-- doxytag: member="Glib::locale_to_utf8" ref="g4517b17f2aad4cd5c0e0640de212d928" args="(const std::string &opsys_string)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1ustring.html">Glib::ustring</a> Glib::locale_to_utf8 </td> <td>(</td> <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__string.html">std::string</a> & </td> <td class="paramname"> <em>opsys_string</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Convert from the current locale's encoding to UTF-8. <p> Convenience wrapper around <a class="el" href="group__CharsetConv.html#g58f7e4556c436a96c64b186bbc8f7f4c" title="Convert from one encoding to another.">Glib::convert()</a>. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>opsys_string</em> </td><td>The string to convert. Must be encoded in the charset used by the operating system's current locale. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The input string converted to UTF-8 encoding. </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classGlib_1_1ConvertError.html" title="Exception class for charset conversion errors.">Glib::ConvertError</a></em> </td><td></td></tr> </table> </dl> </div> </div><p> </div> <!-- end main content --> <hr><address><small> Generated for glibmm 2.4 by <a href="http://www.doxygen.org/index.html"> Doxygen</a> 1.5.3 © 1997-2001</small></address> </body> </html>