Texcodierung für StreamWriter soll erweiterter ASCII sein



  • Ich möchte mit dem StreamWriter einen Text in eine Datei schreiben. Ich habe in meinem Text allerdings auch so Zeichen wie das ß. Wenn ich nun als Encoding ASCII angebe, macht er aus dem ß ein ? weil ja ASCII in C# nur der 7-Bit-ASCII-Code ist.
    Bei jeder anderen Codierung (Unicode und die verschiedenen UTFs) stellt er aber entweder das ß oder den ganzen Text als jeweils zwei Zeichen dar. Das heißt, wenn ich in die Datei das Wort "groß" schreibe, dann sind das in einem Texteditor, der diese Codierung nicht kann (z.B. der DOS-Editor edit) fünf oder acht Zeichen. Es ist aufgrund des Kontextes meines Programms aber wichtig, dass ein Zeichen auch wirklich nur ein Byte groß ist. Deshalb suche ich nach der Möglichkeit, mit dem StreamWriter den erweiterten ASCII-Code zu benutzen. Also kein Unicode, sondern trotzdem noch 1-Byte-Zeichen, aber eben nicht nur die ersten 128 Zeichen, sondern 256. (Ja, ich weiß, dass das ß dann im DOS-Editor nicht wie ein ß aussehen würde, sondern es dort ein anderes Zeichen wär, aber das ist hierfür egal. Wichtig ist, dass es in Windows-Texteditoren richtig aussieht, auch wenn die kein Unicode unterstützen.) Wie kann ich das erreichen?



  • Gib als Encoding z.B. an: GetEncoding(1252) oder ANSI


Anmelden zum Antworten