Encoding-Plugin¶
Ein Kodierung-Menü, um eine Datei in einer anderen Zeichenkodierung neu einzulesen oder sie in eine solche zu konvertieren. Der Editor arbeitet intern mit UTF-8; dieses Plugin bestimmt, wie die Bytes einer Datei dorthin und zurück abgebildet werden.
Ihre Datei behält ihre Kodierung¶
OctoEdit erkennt die Kodierung einer Datei beim Öffnen und schreibt bei jedem
Speichern dieselbe Kodierung zurück. Eine UTF-8-Datei mit Byte-Order-Mark
behält ihre BOM, eine UTF-16-Datei bleibt UTF-16, und eine Datei in der
ANSI-Codepage des Systems wird beim ersten Ctrl+S nicht stillschweigend zu
UTF-8 befördert.
Die Kodierung gehört dem Dokument, nicht diesem Plugin: Das Menü unten zeigt und ändert sie, geschrieben wird vom Editorkern. Deshalb wird eine Konvertierung genauso behandelt wie jeder andere Speichervorgang — der Schreibvorgang ist atomar, die Sicherung beim Speichern greift, und die Dateiüberwachung weiß, dass die Änderung von Ihnen stammt.
Eine .editorconfig des Projekts mit charset hat weiterhin Vorrang: Das ist
eine Entscheidung, die Sie für das ganze Projekt festgehalten haben, und sie
überstimmt, was die Bytes einer einzelnen Datei sagten. Nach einem solchen
Speichern nennt das Dokument diesen Zeichensatz als seine Kodierung, sodass
Menü und Statusleiste benennen, was tatsächlich auf der Festplatte steht.
Zwei Arten von Befehlen¶
Die Unterscheidung ist wichtig — die eine ändert die Interpretation, die andere das, worin die Datei gespeichert wird:
| Familie | Menü | Funktion |
|---|---|---|
| Interpretieren als | Encoding ▸ <encoding> und Encoding ▸ Character sets ▸ <set> |
Liest die Bytes der Datei erneut von der Festplatte und dekodiert sie mit der gewählten Kodierung; der Puffer wird ersetzt und die gewählte Kodierung am Dokument vermerkt. Verwenden Sie dies, wenn eine Datei als Zeichensalat geöffnet wurde. Die Datei auf der Festplatte bleibt unverändert, bis Sie speichern. |
| Konvertieren in | Encoding ▸ Convert to <encoding> |
Merkt am Dokument vor, dass es künftig in dieser Kodierung gespeichert wird, und markiert es als geändert. Es werden noch keine Bytes geschrieben — speichern Sie das Dokument, um die Konvertierung anzuwenden, oder schließen Sie es ohne zu speichern, um sie zu verwerfen. |
Die Kodierung, die das aktive Dokument gerade verwendet, ist im Menü mit
einem Haken markiert: bei den Unicode/ANSI-Einträgen auf oberster Ebene, bei
den älteren innerhalb von Encoding ▸ Character sets. Die Markierung folgt dem
aktiven Tab, sodass ein Dokumentwechsel sofort zeigt, was welche Kodierung hat.
Die Statusleiste nennt dieselbe Kodierung in einem eigenen Segment
(UTF-8, UTF-8-BOM, ANSI, Windows-1250, …) und folgt ebenfalls dem
aktiven Dokument — Sie sehen also, was eine Datei ist, ohne das Menü zu öffnen.
Verfügbare Kodierungen¶
- Unicode: UTF-8, UTF-8-BOM, UTF-16 LE BOM, UTF-16 BE BOM.
- ANSI — die lokale Einzelbyte-Codepage des Systems.
- Untermenü Zeichensätze — die älteren Zeichensätze nach Sprache gruppiert: Arabisch, Baltisch, Keltisch, Mitteleuropäisch, Chinesisch, Kyrillisch, Osteuropäisch, Griechisch, Hebräisch, Japanisch, Koreanisch, Nordeuropäisch, Thailändisch, Türkisch, Vietnamesisch und Westeuropäisch.
Konvertieren in bietet die fünf Unicode/ANSI-Grundkodierungen an. Eine ältere Codepage erreichen Sie über Interpretieren als; ein so gelesenes Dokument wird in derselben Codepage zurückgeschrieben.
Eine unlesbare Datei reparieren
Wenn eine Datei als Zeichensalat geöffnet wird, probieren Sie Interpretieren als mit der erwarteten Kodierung (z. B. einem älteren Zeichensatz). Sobald sie korrekt gelesen wird, verwenden Sie Konvertieren in UTF-8 und speichern Sie, um sie in einer modernen, portablen Kodierung abzulegen.