Ich habe eine Beispielanwendung erstellt, um alle Sonderzeichen beim Kopieren von OpenOffice Writer in Notepad zu laden. Doppel-Codes unterscheiden sich und wenn ich versuche, dies zu laden.
%Vor%Dies erzeugt das Problem von 65533 Issue kommt und die Textdatei enthält:
%Vor%Dies wurde in das Symbol geändert:
%Vor%U + FFFD ist das "Unicode-Ersatzzeichen", das verwendet wird, wenn die Daten, die Sie versuchen zu lesen ist ungültig für die Codierung, die verwendet wird, um binäre Daten in Text zu konvertieren.
Wenn Sie zum Beispiel eine Datei mit ISO-8859-1 schreiben, dann aber versuchen, sie mit UTF-8 zu lesen , könnten Sie leicht mit einigen Bytefolgen landen, die einfach aren sind 't gültiger UTF-8. Jedes ungültige Byte würde (standardmäßig) in U + FFFD übersetzt werden.
Im Grunde müssen Sie die richtige Kodierung für File.ReadAllLines
als zweites Argument angeben. Das bedeutet natürlich, dass Sie zuerst die Kodierung der Datei kennen müssen.