"°C" auf SD-Karte schreiben

Hallo zusammen,

ich würde gerne das Gradzeichen ° in eine Datei auf eienr SD-Karte schreiben lassen.....

Wenn ichs im Sketch verwende, steht in der Datei: " ° "

Kann mir bitte jemand sagen, was ich im Sketch schreiben muss, damit ein ° rauskommt ?

Vielen Dank !

"Charset" ist das Zauberwort.

Welchen Charakterset erwartet dein Ausleseprogramm?

In dem du ein unsigned char mit dem Wert 248 schreibst.

Danke ! ich habs gefunden (;

http://www.pjb.com.au/comp/diacritics.html

sschultewolter:
In dem du ein unsigned char mit dem Wert 248 schreibst.

ø ist auch hübsch.

In ISO-8859-1 ist das ° aber 0xB0 oder 176.

° ist übrigens UTF-8 als ANSI dargestellt. Musst die Datei auf der SD Karte als UTF-8 codiert lesen. Mal sehen, was aus Umlauten wird.

Hängt also eher davon ab, wie die Datei von der SD Karte gelesen wird und was dann damit gemacht wird.

also ich kenne mich mit den ganzen Zeichensätzen gar nicht aus..........

aber geöffnet wird die csv-datei mit excel oder vielleicht openoffice....vielleicht auch mit dem notepad

Alternative = Ausprobieren: (ANSI) Ohne File Header: Standard-Text, Umlaute und andere Zeichen > 128 mit \B0 etc. als Einzel-Byte in feste Strings einfügen oder mit file.write(0xB0); schreiben.

Du bist erstmal drüber gestolpert, dass die IDE vermutlich aus

char beispiel[ ] = "°C";

einen Text mit 4 byte (2byte für '°' , 'C', 0) im utf-8 Format gemacht hat.

Hallo,

ich schreibe dafür

myFile.write(176); myFile.print(F("C"));

Du kannst wie gesagt ASCII Codes mit einem vorangestellten Backslash direkt in den String schreiben

Wenn du HEX verwendest musst du aber aufpassen. Bei "\xB0C" versucht der Compiler das C zur Zahl zu zählen. Deshalb schreibt man dann das:

print("\xB0" "C")

Das Leerzeichen dazwischen ist optional.

ich habs jetzt so gemacht:

"CSV.print("Raumtemp.(\260C)");"

in Excel wirds als ° erkannt (;

ja, die guten alten OktalZahlen. Doch einfacher als mit missverständlichem hex-Code.