Also habe ich einige Probleme mit der Zeichenkodierung. Als ich legte die folgenden zwei Zeichen in eine UTF32 codierten Textdatei:UTF32 und C# Probleme
鸕
und dann auf sie diesen Code ausführen:
System.IO.StreamReader streamReader =
new System.IO.StreamReader("input", System.Text.Encoding.UTF32, false);
System.IO.StreamWriter streamWriter =
new System.IO.StreamWriter("output", false, System.Text.Encoding.UTF32);
streamWriter.Write(streamReader.ReadToEnd());
streamWriter.Close();
streamReader.Close();
ich:
鸕
鸕
(gleiche Zeichen zweimal, dh die Eingabedatei! = Ausgabe)
Ein paar Dinge, die helfen könnten: Hex für das erste Zeichen:
15 9E 02 00
Und zum zweiten:
15 9E 00 00
ich gedit für die Textdatei Erstellung verwenden, Mono für die C# und ich benutze Ubuntu.
Es ist auch egal, wenn ich die Codierung für die Eingabe- oder Ausgabedatei angeben, es mag es einfach nicht, wenn es in UTF32-Codierung ist. Es funktioniert, wenn die Eingabedatei in UTF-8-Codierung ist.
Die Eingabedatei ist wie folgt:
FF FE 00 00 15 9E 02 00 0A 00 00 00 15 9E 00 00 0A 00 00 00
Ist es ein Fehler, oder ist es gerade ich?
Danke!
Encoding der Ausgabedatei? –
Drucken Sie das Ergebnis von 'streamReader.ReadToEnd()' aus. – leppie
@ L.B - Ändern hilft nicht – AStupidNoob