c# Sonderzeichen im File falsch

Gast #1662714
Lesenswert?

Hallo,

ich möchte ein Gradzeichen in ein File schreiben, jedoch wird immer ein 
falsches Zeichen davor geschrieben.
1
StreamWriter myFile = new StreamWriter("test.txt");
2
                myFile.WriteLine("180º");
3
                myFile.Close();

habt ihr mir einen Tip?
Im Hex Editor sieht es so aus.

313830C2BA0D0A    180°

Gruß Michael
Gast #1662833
Lesenswert?

Hi Michael,

mit Deiner Datei ist alles in bester Ordnung. Das verwendete Encoding 
ist UTF-8. Dabei belegen die Zeichen 0 bis 127 1 Byte, alle anderen 
Zeichen 2 Bytes. Das Zeichen "°" liegt nicht im Bereich 0 .. 127 und 
wird folgerichtig mit 2 Bytes in die Datei geschrieben.

Wenn Du mal in die Doku StreamWriter.StreamWriter(String) Constructor 
schaust, steht dort übrigens groß und breit "This constructor creates a 
StreamWriter with UTF-8 encoding whose GetPreamble method returns an 
empty byte array." ;-)

Ach ja, die Doku findest Du u.a. dort: 
http://msdn.microsoft.com/en-us/library/aa328967%28VS.71%29.aspx

Gruß
Markus

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren