<?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-Stringklasse]]></title><description><![CDATA[<p>Um Unicode kommt man heutzutage ja kaum noch herum.<br />
Ich wollte nun meine Stringklasse um eine Unicode-Stringklasse ergänzen (UTF-16), allerdings bekomme ich die Realisierung nicht hin. Bei Google konnte ich leider nichts gescheites finden und die allgemeinen Infos auf <a href="http://Unicode.org" rel="nofollow">Unicode.org</a> sind alles andere als hilfreich.</p>
<p>Was ich brauche:<br />
- Transcodieren zwischen Unicode und nicht-Unicode<br />
- Normalisieren (warum gibt es da so viele verschiedene Formen?)<br />
- Stringfunktionen (Länge, Substrings, Verbinden, etc.)</p>
<p>Wäre nett, wenn mir jemand erklären kann, wie ich das schaffe, oder gute Tutorials kennt. Ich suche <em>keine</em> fertigen Libraries und Klassen, dabei lerne ich nichts <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Grüße,<br />
Neku</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/141446/unicode-stringklasse</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 13:20:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/141446.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 Mar 2006 08:04:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Unicode-Stringklasse on Wed, 22 Mar 2006 08:04:56 GMT]]></title><description><![CDATA[<p>Um Unicode kommt man heutzutage ja kaum noch herum.<br />
Ich wollte nun meine Stringklasse um eine Unicode-Stringklasse ergänzen (UTF-16), allerdings bekomme ich die Realisierung nicht hin. Bei Google konnte ich leider nichts gescheites finden und die allgemeinen Infos auf <a href="http://Unicode.org" rel="nofollow">Unicode.org</a> sind alles andere als hilfreich.</p>
<p>Was ich brauche:<br />
- Transcodieren zwischen Unicode und nicht-Unicode<br />
- Normalisieren (warum gibt es da so viele verschiedene Formen?)<br />
- Stringfunktionen (Länge, Substrings, Verbinden, etc.)</p>
<p>Wäre nett, wenn mir jemand erklären kann, wie ich das schaffe, oder gute Tutorials kennt. Ich suche <em>keine</em> fertigen Libraries und Klassen, dabei lerne ich nichts <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Grüße,<br />
Neku</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021476</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Wed, 22 Mar 2006 08:04:56 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Stringklasse on Wed, 22 Mar 2006 08:11:35 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p><a href="http://www.flipcode.com/articles/article_advstrings01.shtml" rel="nofollow">http://www.flipcode.com/articles/article_advstrings01.shtml</a><br />
<a href="http://www.flipcode.com/articles/article_advstrings02.shtml" rel="nofollow">http://www.flipcode.com/articles/article_advstrings02.shtml</a></p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021480</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Wed, 22 Mar 2006 08:11:35 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Stringklasse on Wed, 22 Mar 2006 08:22:14 GMT]]></title><description><![CDATA[<p>Danke für deine Antwort, aber diese Tutorials nutzen vordefinierte Funktionen wie z.B. WideCharToMultiByte (WinAPI). Ich wollte jedoch solche Funktionen (auch wegen der Portabilität) selbst schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021489</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Wed, 22 Mar 2006 08:22:14 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Stringklasse on Wed, 22 Mar 2006 08:28:22 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Scroll runter und schau dir den Quellcode zu dem Tutorial an...<br />
Warum lesen sich die Leute nicht alles gründlich durch bevor sie Antworten??? <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="🙄"
    /></p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021496</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Wed, 22 Mar 2006 08:28:22 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Stringklasse on Wed, 22 Mar 2006 08:43:57 GMT]]></title><description><![CDATA[<p>Der Quellcode war das einzige, was ich mir auf die Schnelle angesehen habe. Zum Konvertieren wird &quot;WideCharToMultiByte&quot; verwendet, was nicht in Frage kommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021506</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Wed, 22 Mar 2006 08:43:57 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Stringklasse on Wed, 22 Mar 2006 08:49:44 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ok, nochmal gaaaanz langsam!<br />
Wo findest du hier ein <strong>WideCharToMultiByte</strong>???</p>
<p><a href="http://www.flipcode.com/articles/article_advstrings_cstring.h" rel="nofollow">http://www.flipcode.com/articles/article_advstrings_cstring.h</a></p>
<p>Ich sehe da vielmehr folgendes:</p>
<pre><code class="language-cpp">//=======================================================
	//
	// Conversion functions
	//
	TAnsiChar *ToAnsi(TAnsiChar *Buffer, int BufferLen) const	// Converts the string to an ANSI string.
	{
		int i, ConvertLen;

		if (BufferLen &lt;= 0)
		{
			Buffer = NULL;
			return Buffer;
		}

		if (BufferLen &gt;= Len)
			ConvertLen = Len;
		else
			ConvertLen = BufferLen-1;

		for (i=0 ; i&lt;ConvertLen ; i++)
		{
#ifdef _UNICODE
			if (Text[i] &gt; 255)		// If character is a non-ANSI Unicode character, fill with
				Buffer[i] = 0x20;		// space instead.
			else
#endif
				Buffer[i] = (TAnsiChar)Text[i];
		}
		Buffer[i] = A('\0');
		return Buffer;
	}
	TUnicodeChar *ToUnicode(TUnicodeChar *Buffer, int BufferLen) const		// Converts the string
	{																								// to a Unicode string.
		int i, ConvertLen;

		if (BufferLen &lt;= 0)
		{
			Buffer = NULL;
			return Buffer;
		}

		if (BufferLen &gt;= Len)
			ConvertLen = Len;
		else
			ConvertLen = BufferLen-1;

		for (i=0 ; i&lt;ConvertLen ; i++)
			Buffer[i] = (TUnicodeChar)Text[i];
		Buffer[i] = U('\0');
	   return Buffer;
	}
</code></pre>
<p>Also, nich immer alles auf die Schnelle machen!</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021511</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Wed, 22 Mar 2006 08:49:44 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Stringklasse on Wed, 22 Mar 2006 09:01:13 GMT]]></title><description><![CDATA[<p>uuh danke, hab net gesehen, dass es da noch Downloads gibt <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="🙄"
    /></p>
<p>Das ist aber keine Konvertierung, das ist ne Krankheit <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Da werden ja alle Unicodezeichen &gt; 00FF einfach ignoriert und Encoding wird auch nicht beachtet.</p>
<p>*Edit*<br />
Vielleicht wurde das nicht ganz klar: Es geht vor allem darum, dass verschiedene Encodings unterstützt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021518</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Wed, 22 Mar 2006 09:01:13 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Stringklasse on Wed, 22 Mar 2006 10:16:16 GMT]]></title><description><![CDATA[<p>Was willst du sonst mit den Zeichen machen? Der Ansi-Code kennt nunmal nur Zeichen im Bereich von 0-255, alle anderen Zeichen können logischerweise mit diesem Zeichensatz gar nicht dargestellt werden.</p>
<p>Unicode hat keine verschiedene encodings...</p>
<p>Was man der Klasse spendieren könnte, wäre eine Funktion IsConvertibleToAnsi und der ToAnsi Funktion nen Standardzeichen, das verwendet wird um nichtdarstellbare Zeichen im Ansi-String &quot;auszudrücken&quot;.</p>
<p>Was du willst ist wohl ne UCS-32 Stringklasse welche Funktionen à la ToAnsi, ToAscii, ToUnicode, ToUTF8, ToUCS-16,... hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021558</guid><dc:creator><![CDATA[OMG??]]></dc:creator><pubDate>Wed, 22 Mar 2006 10:16:16 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Stringklasse on Wed, 22 Mar 2006 13:44:29 GMT]]></title><description><![CDATA[<p>Ich habe vorhin etwas über Unicode gelesen, da wurde auch unter anderem erklärt, dass ANSI nur 7-Bit-Strings sind (hab mich nie genau damit befasst). Dann gibt es noch die ISO-8859-*-Encodings, welche 8 Bit haben, sowie spezielle Encodings für asiatische Sprachen.</p>
<p>Ich möchte eine Stringklasse erstellen, die zwischen ANSI und den 8-Bit Encodings und Unicode hin und her encodieren kann. Die ISO-8859-* Mappingtabellen habe ich inzwischen unter <a href="http://www.unicode.org/Public/MAPPINGS/ISO8859/" rel="nofollow">http://www.unicode.org/Public/MAPPINGS/ISO8859/</a> gefunden. Was mir hier noch fehlt ist das Mapping für asiatische Encodings nach Unicode, aber die werden da auch irgendwo sein.</p>
<p>Was ich nun noch brauche:<br />
- Wie man einen String normalisiert und was das bedeutet.<br />
- Stringfunktionen (Länge, Substrings, Verbinden, etc.), da es hier anscheinend mehrere Dinge zu beachten gibt bei Unicode.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021695</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Wed, 22 Mar 2006 13:44:29 GMT</pubDate></item><item><title><![CDATA[Reply to Unicode-Stringklasse on Wed, 22 Mar 2006 15:19:16 GMT]]></title><description><![CDATA[<p>Bei asiatischen Sprachen wünsch ich dir viel Spaß, die haben da ettliche verschiedene eigene Standards und dann hat die westliche Welt für diese noch eigene Standards geschaffen.</p>
<p>Noch was ANSI ist nicht Ascii, Ascii ist 7Bit, der ANSI-Zeichensatz ist 8Bit. Glaub nicht gleich alles was du im inet liest, gibt genug Leute die Müll erzählen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1021782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1021782</guid><dc:creator><![CDATA[OMG??]]></dc:creator><pubDate>Wed, 22 Mar 2006 15:19:16 GMT</pubDate></item></channel></rss>