Zum Inhalt

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.