String - Sonderzeichen

21/12/2009 - 18:51 von Claudia Maier | Report spam
Hallo,

gibt es eine Möglichkeit

a) dass Sonderzeichen angezeigt werden?
Wenn ja, wie?
a1) In einem Textfeld
a2) In einer Messagebox
Hat das mit der Schriftart zu tun?
Terminal gibt es in VS2008 nicht
siehe Bilder!
http://www1.minpic.de/bild_anzeigen.php?id™347&keyA676387&ende
http://www1.minpic.de/bild_anzeigen.php?id™349&key&918340&ende
Terminal?
http://www1.minpic.de/bild_anzeigen.php?id™348&key”649894&ende


b) warum geht das nicht?
string stringToSend;
// stringToSend = (char)2;

Random r = new Random();
int a = (int)'A';

char c = 'A';
if (r.Next(0, 10) == 9)
c = 'F';
else
c = (char)(r.Next(0, 4) + a);
counter++;
RCode = counter.ToString("D10") + "," + c.ToString();


string stringToSend = "";
int counter = 0;
stringToSend += "<STX>";
foreach ( Code rCode in
ListCodes )
{
stringToSend += rCode.Content;
stringToSend += (char)29;
counter++;
}
stringToSend += "<ETX>";

System.Windows.Forms.MessageBox.Show(stringToSend);
c) wàre es evtl. einfacher, besser, wenn ich Sonderzeichen benötige
einen Buffer von char auzubauen?
Wenn ja, wie könnte man das am besten realisieren?
So geht es ja nicht, da ich nicht weiß wie viele Zeichen kommen.
char[] chars = new char[4];
chars[0] = 'X'; // Character literal
chars[1] = '\x0058'; // Hexadecimal
chars[2] = (char)88; // Cast from integral type
chars[3] = '\u0058'; // Unicode
http://msdn.microsoft.com/de-de/lib...8tsay.aspx


Grüße Claudia
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
22/12/2009 - 00:55 | Warnen spam
Hallo Claudia!

Am 21.12.2009 18:51, schrieb Claudia Maier:
gibt es eine Möglichkeit

a) dass Sonderzeichen angezeigt werden?
Wenn ja, wie?
a1) In einem Textfeld
a2) In einer Messagebox
Hat das mit der Schriftart zu tun?



Ja, da beides in .NET Unicode-fàhig ist, liegt es an der Schriftart.
Diese muß Glyphen für die entsprechenden "Zeichencodes" (auch Codepunkte
genannt) enthalten.

Terminal gibt es in VS2008 nicht
siehe Bilder!



Grund: .NET kann nur mit TrueType- bzw. OpenType-Schriften umgehen,
nicht jedoch mit Bitmapschriften (von Bitmaps in Vektorschriftarten
einmal abgesehen).

Lösung: Verwende eine TrueType- oder OpenType-Schriftart, welche Glyphen
für die benötigten Codepunkte enthàlt. Notfalls (solltest Du die Schrift
nicht àndern können), kannst Du, falls es lediglich um die Anzeige von
Text geht, vor dem Anzeigen die problematischen Zeichen mit àhnlichen
Zeichen bzw. Platzhaltern ersetzen.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen