<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Unicode-Unterstützung in C++11]]></title><description><![CDATA[<p>Hallo allerseits,</p>
<p>Ich beiße mir gerade die Zähne mit der neuen Unicode-Unterstützung in C++11 aus. So 100%ig kapiere ich dass alles nicht. Mit UTF-8 ist alles ja kein allzugroßes Problem, aber wenn ich bspw. UTF-16 mit u16string oder UTF-32 mit u32string verwenden will, dann happert es. Hier mal ein Codeausschnitt womit ich meine Probleme habe und was ich meine:</p>
<pre><code>string str_u8{u8&quot;Eurozeichen: \u20AC&quot;};
  cout &lt;&lt; str_u8 &lt;&lt; endl;

  u16string str_u16{u&quot;Eurozeichen: \u20AC&quot;};
  //cout &lt;&lt; str_u16 &lt;&lt; endl;

  u32string str_u32{U&quot;Eurozeichen: \u20AC&quot;};
  //cout &lt;&lt; str_u32 &lt;&lt; endl;
</code></pre>
<p>Wie kann man denn jetzt in C++11 bspw. jetzt einen u16string oder u32string ausgeben? Ist da vielleicht wie beim alten wchar_t mit wcout eine u16cout oder u32cout geplant und nur noch nicht implementiert?</p>
<p>Oder muss ich etwa UTF-16 bzw. UTF-32 nach UTF-8 konvertieren? Soweit ich recherchiert habe, gibt es hierfür ja die Templates in codevct (welche aber hier bei mir gcc 4.7 noch nicht wollen).</p>
<p>Viele Grüße<br />
Jonathan</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/311030/unicode-unterstützung-in-c-11</link><generator>RSS for Node</generator><lastBuildDate>Tue, 04 Aug 2026 01:43:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/311030.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 25 Nov 2012 12:11:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Unicode-Unterstützung in C++11 on Sun, 25 Nov 2012 12:11:27 GMT]]></title><description><![CDATA[<p>Hallo allerseits,</p>
<p>Ich beiße mir gerade die Zähne mit der neuen Unicode-Unterstützung in C++11 aus. So 100%ig kapiere ich dass alles nicht. Mit UTF-8 ist alles ja kein allzugroßes Problem, aber wenn ich bspw. UTF-16 mit u16string oder UTF-32 mit u32string verwenden will, dann happert es. Hier mal ein Codeausschnitt womit ich meine Probleme habe und was ich meine:</p>
<pre><code>string str_u8{u8&quot;Eurozeichen: \u20AC&quot;};
  cout &lt;&lt; str_u8 &lt;&lt; endl;

  u16string str_u16{u&quot;Eurozeichen: \u20AC&quot;};
  //cout &lt;&lt; str_u16 &lt;&lt; endl;

  u32string str_u32{U&quot;Eurozeichen: \u20AC&quot;};
  //cout &lt;&lt; str_u32 &lt;&lt; endl;
</code></pre>
<p>Wie kann man denn jetzt in C++11 bspw. jetzt einen u16string oder u32string ausgeben? Ist da vielleicht wie beim alten wchar_t mit wcout eine u16cout oder u32cout geplant und nur noch nicht implementiert?</p>
<p>Oder muss ich etwa UTF-16 bzw. UTF-32 nach UTF-8 konvertieren? Soweit ich recherchiert habe, gibt es hierfür ja die Templates in codevct (welche aber hier bei mir gcc 4.7 noch nicht wollen).</p>
<p>Viele Grüße<br />
Jonathan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274451</guid><dc:creator><![CDATA[class_1974]]></dc:creator><pubDate>Sun, 25 Nov 2012 12:11:27 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Unterstützung in C++11 on Sun, 25 Nov 2012 12:16:17 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/310613" rel="nofollow">http://www.c-plusplus.net/forum/310613</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274452</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 25 Nov 2012 12:16:17 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Unterstützung in C++11 on Sun, 25 Nov 2012 12:50:05 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p><a href="http://www.c-plusplus.net/forum/310613" rel="nofollow">http://www.c-plusplus.net/forum/310613</a></p>
</blockquote>
<p>Vielen Dank für den Link. So wie ich dass jetzt verstanden habe, muss ich also UTF-16 bzw. UTF-32 für eine simple Ausgabe in eine UTF-8 umwandeln?</p>
<p>Ich habe dass mal mit folgendem Code versucht:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;locale&gt;
#include &lt;codecvt&gt;
using namespace std;
...
u16string str_u16{u&quot;Eurozeichen: \u20AC&quot;};
wstring_convert&lt;codecvt_utf8_utf16&lt;char16_t&gt;, char16_t&gt; conv;
string str16to8 = conv.to_bytes(str_u16);
cout &lt;&lt; str16to8 &lt;&lt; endl;
</code></pre>
<p>Leider spielt mein Compiler wieder bei codecvt nicht mehr mit und meldet:</p>
<pre><code>$ g++-mp-4.7 -o main main.cpp -Wall -pedantic -std=c++11
main.cpp:4:19: fatal error: codecvt: No such file or directory
compilation terminated
</code></pre>
<p>Ich denke mir mal dass es halt nicht implementiert ist. Könnte mir jemanden meinen Code bestätigen, ob ich die Konvertierung richtig gemacht habe und ob mein Denkansatz überhaupt korrekt ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274464</guid><dc:creator><![CDATA[class_1974]]></dc:creator><pubDate>Sun, 25 Nov 2012 12:50:05 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Unterstützung in C++11 on Sun, 25 Nov 2012 13:58:02 GMT]]></title><description><![CDATA[<p>Header &lt;locale&gt;, nicht &lt;codecvt&gt;.</p>
<p>&lt; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> &gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274491</guid><dc:creator><![CDATA[glühbirne]]></dc:creator><pubDate>Sun, 25 Nov 2012 13:58:02 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Unterstützung in C++11 on Sun, 25 Nov 2012 14:06:41 GMT]]></title><description><![CDATA[<p>glühbirne schrieb:</p>
<blockquote>
<p>Header &lt;locale&gt;, nicht &lt;codecvt&gt;.</p>
<p>&lt; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> &gt;</p>
</blockquote>
<p>&lt; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> &gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274492</guid><dc:creator><![CDATA[class_1974]]></dc:creator><pubDate>Sun, 25 Nov 2012 14:06:41 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Unterstützung in C++11 on Sun, 25 Nov 2012 14:25:19 GMT]]></title><description><![CDATA[<p>Du nimmst den falschen Header.</p>
<p>&lt; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> &gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274496</guid><dc:creator><![CDATA[glühbirne]]></dc:creator><pubDate>Sun, 25 Nov 2012 14:25:19 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Unterstützung in C++11 on Sun, 25 Nov 2012 15:26:59 GMT]]></title><description><![CDATA[<p>glühbirne schrieb:</p>
<blockquote>
<p>Du nimmst den falschen Header.</p>
<p>&lt; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> &gt;</p>
</blockquote>
<p>Hmm, ohne &lt;codecvt&gt; geht es aber denke ich net. Dann gibt's:</p>
<pre><code>$ g++-mp-4.7 -o main main.cpp -Wall -pedantic -std=c++11
main.cpp: In function 'int main()':
main.cpp:13:3: error: 'wstring_convert' was not declared in this scope
main.cpp:13:19: error: 'codecvt_utf8_utf16' was not declared in this scope
main.cpp:13:38: error: expected primary-expression before 'char16_t'
main.cpp:13:38: error: expected ';' before 'char16_t'
main.cpp:14:21: error: 'conv' was not declared in this scope
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2274518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274518</guid><dc:creator><![CDATA[class_1974]]></dc:creator><pubDate>Sun, 25 Nov 2012 15:26:59 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Unterstützung in C++11 on Sun, 25 Nov 2012 15:30:06 GMT]]></title><description><![CDATA[<p>Das liegt an deinem Compiler und nicht am Programmcode. <code>wstring_convert</code> ist nämlich in <code>&lt;locale&gt;</code> definiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274520</guid><dc:creator><![CDATA[q4adfba]]></dc:creator><pubDate>Sun, 25 Nov 2012 15:30:06 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Unterstützung in C++11 on Sun, 25 Nov 2012 15:53:21 GMT]]></title><description><![CDATA[<p>q4adfba schrieb:</p>
<blockquote>
<p>Das liegt an deinem Compiler und nicht am Programmcode. <code>wstring_convert</code> ist nämlich in <code>&lt;locale&gt;</code> definiert.</p>
</blockquote>
<p>Vielen Dank <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> jetzt hab ich es kapiert. Kennst du einen Compiler der dass kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274530</guid><dc:creator><![CDATA[class_1974]]></dc:creator><pubDate>Sun, 25 Nov 2012 15:53:21 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Unterstützung in C++11 on Sun, 25 Nov 2012 16:08:43 GMT]]></title><description><![CDATA[<p>schau halt nach <a href="http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport" rel="nofollow">http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport</a><br />
du musst bei deinem compiler den c++0x support auch möglicherweise noch aktivieren . beim gcc: -std=c++0x</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274532</guid><dc:creator><![CDATA[vario-500]]></dc:creator><pubDate>Sun, 25 Nov 2012 16:08:43 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Unterstützung in C++11 on Sun, 25 Nov 2012 16:24:52 GMT]]></title><description><![CDATA[<p>vario-500 schrieb:</p>
<blockquote>
<p>schau halt nach <a href="http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport" rel="nofollow">http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport</a><br />
du musst bei deinem compiler den c++0x support auch möglicherweise noch aktivieren . beim gcc: -std=c++0x</p>
</blockquote>
<p>Die Seite kenn ich schon. Trotzdem danke! Soweit scheint es mit dem Konvertieren keiner zu können. clang++ (3.1), g++ (4.7) und Visual Studio 2012 können alle nichts damit anfangen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> ... ist wohl noch ein weitere Weg bis C+11 sinnvoll verwendet werden kann denke ich. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> echt Schade, weil es gerade mit dem Unicode toll gewesen wäre.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274533</guid><dc:creator><![CDATA[class_1974]]></dc:creator><pubDate>Sun, 25 Nov 2012 16:24:52 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Unterstützung in C++11 on Sun, 25 Nov 2012 16:37:26 GMT]]></title><description><![CDATA[<p>Nimm eben bis dahin eine Bibliothek. SFML hat auch eine gewisse Unicode-Unterstützung.</p>
<p>&lt; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> &gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2274542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2274542</guid><dc:creator><![CDATA[glühbirne]]></dc:creator><pubDate>Sun, 25 Nov 2012 16:37:26 GMT</pubDate></item></channel></rss>