Interne Darstellung von Sonderzeichen

22/09/2008 - 21:39 von a.p. | Report spam
Hallo NG

ich habe folgenden Codeschnipsel:

char * str = "Ö" ;
int i = strlen (str) ; // liefert 2

Beim Debuggen habe ich festgestellt, dass der Buchstabe "Ö" als "\\303\
\226" abgespeichert wird (also 2 Zeichen lang).

Meine Frage dazu: wie kann ich den Compiler dazu zwingen, dass das "Ö"
als ein Zeichen abgespeichert wird ?


Ich habe im Internet schon einige Informationen bzgl Unicodes und
Codepages (Stichwort setLocale()) gefunden, richtig schlau bin ich aber
nicht geworden :-(

Vielen Dank im voraus
 

Lesen sie die antworten

#1 Alexander Bartolich
22/09/2008 - 21:52 | Warnen spam
a.p. schrieb:
[...]
Meine Frage dazu: wie kann ich den Compiler dazu zwingen, dass das "Ö"
als ein Zeichen abgespeichert wird ?



Das ist implementierungsabhàngig.

Üblicherweise reicht der Übersetzer die Zeichen aus der Eingabedatei
unveràndert durch. Vermutlich musst du die Datei nur in den gewünschten
8-Bit-Zeichensatz konvertieren.

Meine Glaskugel meint dazu folgendes:

iconv -f utf8 -t iso8859-1 < eingabe > ausgabe

Ich habe im Internet schon einige Informationen bzgl Unicodes und
Codepages (Stichwort setLocale()) gefunden, richtig schlau bin ich
aber nicht geworden :-(



Besonders schlau ist das, was du da machst, auch nicht.

usingwhitespaceisracism

Ähnliche fragen