Benutzer mit den meisten Antworten
Convert.ToChar mit Sonderzeichen

Frage
-
Moin allerseits!
Ich habe ein Problem mit Convert.ToChar und einigen Sonderzeichen wie z.B. Ž (ANSI 142/Unicode 17D). Rufe ich Convert.ToChar(142) auf, bekommen ich nicht das gewünschte Zeichen sondern ein Whitespace. Änderung des Fonts etc. macht keinen Unterschied.
Ich programmiere zwar schon seit einigen Jahren beruflich in C#, aber hier stehe ich echt wie der Ochs vorm Berg :)Kann mir irgendjemand einen Tipp geben, wie ich aus der 142 (ist durch die Eingabedatei gegeben) ein "Ž" machen kann?
Vielen Dank schon mal.
Hans
Antworten
-
Hallo Hans,
der ANSI Zeichensatz ist normal über Encoding.Default abgreifbar.
Also zum Beispiel:string c = Encoding.Default.GetString(new byte[]{142});
oder eben als Unicode:char cu = (char) 0x17D;
ciao Frank- Als Antwort vorgeschlagen Frank Dzaebel Donnerstag, 10. Februar 2011 15:06
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 11. Februar 2011 15:31
Alle Antworten
-
Hallo Hans,
der ANSI Zeichensatz ist normal über Encoding.Default abgreifbar.
Also zum Beispiel:string c = Encoding.Default.GetString(new byte[]{142});
oder eben als Unicode:char cu = (char) 0x17D;
ciao Frank- Als Antwort vorgeschlagen Frank Dzaebel Donnerstag, 10. Februar 2011 15:06
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 11. Februar 2011 15:31
-
Disregard... found a solution myself.
byte[] src = {142}; Encoding enc = Encoding.GetEncoding(1252); string dst = enc.GetString(src);
Thanks to anyone who looked into this.
- Bearbeitet Robert BreitenhoferModerator Freitag, 11. Februar 2011 15:31 Formatierung
-
Hallo D.,
Das 1252 ist normal (bei uns hierzulande) Encoding.Default.
int cp = Encoding.Default.CodePage; // 1252
Encoding.Default ist generischer - siehe meine verlinkte Doku dazu.
Aber dann hattest Du nur nicht mein Posting angeschaut.
ciao Frank