Volt
00000000

Anleitung

Eine Datei auf dem Mac in UTF-8 umwandeln

Das Umwandeln in UTF-8 ist einfach, sobald man weiß, in welchem Zeichensatz die Datei gerade steht — und genau das ist der schwierige Teil: Die falsche Annahme wandelt klaglos um und liefert eine Datei, in der jeder Umlaut still durch einen anderen Buchstaben ersetzt ist. Hier steht, wie man es herausfindet, und wie man umwandelt, ohne etwas zu verlieren.

Mit dem, was der Mac schon hat

file -I notiz.txt rät im Terminal den Zeichensatz. Bei UTF-8 und UTF-16 liegt es richtig und sagt bei fast allem anderen unknown-8bit oder iso-8859-1 — und genau dort liegt das Problem.

iconv -f WINDOWS-1252 -t UTF-8 notiz.txt > notiz-utf8.txt wandelt um, wenn Sie die Antwort auf die erste Frage schon kennen. Mit dem falschen Ausgangssatz wandelt es trotzdem um: Windows-1252, gelesen als Mac Roman, macht aus jedem ü einen anderen Buchstaben, und nichts sagt es Ihnen.

Auch TextEdit kann es: Datei öffnen, falls nötig Format ▸ In reinen Text umwandeln wählen und beim Sichern eine Kodierung auswählen. Es zeigt den Text so, wie es ihn geraten hat — das hilft, aber die Alternativen zeigt es nicht.

Warum das Raten schwer ist

Jeder 8-Bit-Zeichensatz dekodiert jedes Byte. Eine deutsche Datei, auf Windows geschrieben, ist gültiges Mac Roman, gültiges Latin-1 und gültiges Windows-1250 — „lässt es sich dekodieren?“ sagt also nichts. Was sie unterscheidet, ist, ob das Ergebnis wie eine Sprache aussieht — ü gegen Ÿ, Tschechisch in Latin-2 gegen Tschechisch in Latin-1, Russisch in KOI8-R gegen Windows-1251. Eine kurze Datei macht es noch schwerer: Eine französische Notiz mit fünf Akzenten ist auch gültiges Chinesisch.

So geht es in Volt

Datei öffnen. Der Zeichensatz wird erkannt — an der Bytereihenfolge-Markierung, dann an der Struktur, dann daran, wie sich der Text liest, geprüft an Anfang, Mitte und Ende —, und die Statusleiste nennt den gewählten. War es knapp, sagt sie das.

Nachprüfen. Darstellung ▸ Untersuchen ▸ Zeichensätze vergleichen … zeigt dieselben Bytes auf jede plausible Art gelesen, nebeneinander und bewertet, und folgt Ihrer Auswahl, sodass Sie auf das Wort zeigen können, auf das es ankommt. Angeboten werden nur Sätze, die die Bytes wirklich lesen können.

War die Annahme falsch, wählen Sie in der Statusleiste den richtigen Satz und lassen die Bytes neu lesen: Nichts wird umgewandelt, die Datei wird einfach richtig angezeigt.

Dann umwandeln. UTF-8 wählen und umwandeln lassen; das nächste Sichern schreibt UTF-8. Umentscheiden ist ⌘Z, wie jede andere Bearbeitung.

Mit oder ohne Bytereihenfolge-Markierung. Ablage ▸ Bytereihenfolge-Markierung schaltet sie ein oder aus. In eine .htaccess oder ein Skript mit #!-Zeile setzt Volt keine, außer Sie bestehen darauf — dort macht sie etwas kaputt.

Der umgekehrte Weg

Manchmal muss eine Datei in einem älteren Satz bleiben oder dorthin zurück: ein System, das nur Windows-1252 liest, ein Mainframe, der EBCDIC 273 will. Volt liest und schreibt 220 Zeichensätze, darunter 62 EBCDIC-Codepages, und sagt Ihnen vor dem Sichern, wenn ein Zeichen im Text im gewählten Satz nicht darstellbar ist — nichts wird wortlos zum ?.

Ein ganzer Ordner davon

Darstellung ▸ Untersuchen ▸ Projektbericht … listet jede Datei eines Projekts mit Zeichensatz, Bytereihenfolge-Markierung und Zeilenende auf, gefiltert auf Nicht UTF-8 — so wissen Sie genau, welche Dateien umgewandelt werden müssen, bevor Sie anfangen.

Fragen

Wie finde ich auf dem Mac heraus, in welcher Kodierung eine Datei steht?

Im Terminal liefert file -I eine grobe Vermutung. In Volt nennt die Statusleiste den erkannten Zeichensatz, und „Zeichensätze vergleichen …“ zeigt jede plausible Lesart nebeneinander.

Warum hat meine umgewandelte Datei falsche Buchstaben?

Weil sie aus dem falschen Ausgangssatz umgewandelt wurde. Jeder 8-Bit-Satz dekodiert jedes Byte, also gelingt die Umwandlung, und die Buchstaben ändern sich. Lesen Sie das Original zuerst im richtigen Satz neu, und wandeln Sie dann um.

Sollte eine UTF-8-Datei eine Bytereihenfolge-Markierung haben?

Meist nicht: Sie ist in UTF-8 freiwillig und macht manche Dateien kaputt, etwa .htaccess und Skripte, die mit #! beginnen. Volt macht sie im Ablage-Menü zu einem Schalter.

Kann ich eine Umwandlung widerrufen?

Ja. Den Zeichensatz zu wechseln ist eine Bearbeitung, und ⌘Z stellt den Satz wieder her, in dem die Bytes gelesen wurden.

Kann Volt EBCDIC in UTF-8 umwandeln?

Ja — 62 EBCDIC-Codepages, gelesen und geschrieben, samt dem Zeilenende NEL.

Kann ich viele Dateien auf einmal umwandeln?

Volt wandelt eine Datei nach der anderen um; der Projektbericht findet jede Datei eines Projekts, die nicht UTF-8 ist, damit keine übersehen wird.

Öffnen Sie die Datei mit den Fragezeichen

Volt ist in der kostenlosen Beta. Laden Sie ihn jetzt — ohne Konto, ohne Anmeldung — und probieren Sie ihn an der Datei aus, um die es geht. Jeder Build läuft sieben Tage, und jedes Update gibt weitere sieben.

Volt für Mac laden

macOS 13 oder neuer, Apple Silicon. Etwa 8 MB, signiert und notarisiert. Alle Funktionen · was sich in diesem Build geändert hat.

Verwandte Anleitungen