UTF-8 ist kein Zeichensatz, nur eine Kodierung für Unicode. Die ersten 128 Zeichen sind mit ASCII identisch, unterscheiden sich jedoch in den hohen 128 Byte. Ein Byte mit gesetztem High-Bit (oder> = 0x80) ist ein erweitertes Zeichen in ASCII, während es in UTF-8 das Startbyte einer Multibyte-Sequenz angibt. Das ist der Fall von 0x93 oder 0x94 oben. Ich sehe jedoch nichts Seltsames in der Datei. Hierbei handelt es sich um intelligente Anführungszeichen oder Anführungszeichen mit unterschiedlichen Formularen zum Öffnen und Schließen von Anführungszeichen, die Sie häufig sehen, wenn Sie einen Rich Text-Editor wie MS Word verwenden
Bearbeiten
Die Frage wurde bearbeitet. Ich denke, das liegt daran, dass Sie das falsche Werkzeug gewählt haben. Die encode
Menüelemente dienen zum Ändern der Kodierung, wenn falsche Zeichen angezeigt werden. Es behandelt nur die gleiche Byte-Sequenz, die von der Festplatte gelesen wird, als eine andere Kodierung. Da ASCII und UTF-8 unterschiedlich sind, haben Sie eine schlecht geformte UTF-8-Bytefolge und sehen das Ergebnis oben. Sie müssen wählen convert to UTF-8
, um die gesamten Eingangsbytes zu ändern
Sie haben auch ANSI und ASCII verwechselt. ANSI bezieht sich oft auf Windows-1252, einen Zeichensatz, der in Englisch Windows und einigen westeuropäischen Sprachen verwendet wird. Es ist eine Obermenge von ISO 8859-1, obwohl ISO 8859-1 auch als ANSI bezeichnet werden kann. ISO 8859-1 ist auch die ersten 256 Codepunkte von Unicode. Es handelt sich also um eine Teilmenge von Unicode, die jedoch nicht mit der UTF-8-Codierung kompatibel ist. ASCII ist ein 7-Bit-Zeichensatz und ist eine Teilmenge des ANSI, die mit 8 Bit codiert ist, wird jedoch auch als ANSI bezeichnet, wenn auch nicht sehr korrekt
https://en.wikipedia.org/wiki/ANSI_character_set
Im Allgemeinen ist die Beziehung zwischen Zeichensätzen wie folgt
ASCII < ISO 8859-1 < Windows-1252 ^ Unicode