top of page
Bücherregal als Symbolbild für den Blogbeitrag.

Blog

Wie erkenne ich das richtige Encoding?

Aktualisiert: 27. Sept. 2023

Beim Öffnen einer Textdatei in einem Editor kann resp. muss das Encoding angegeben werden. Doch wie finde ich das korrekte Encoding einer Datei heraus?



Durch eine Brille die Zeichenfolge betrachten und das korrekte Encoding erkennen.

Bevor ich die Frage kläre, wie man das richtige Encoding ermittelt, möchte ich kurz erläutern, was genau das Text-Encoding ist:



Text-Encoding einfach erklärt

Jede Textdatei enthält schlussendlich eine Folge von verschiedenen Bytes. Und jedes Byte umfasst einen Wert von 0 bis 255. Was nun ein einzelnes Byte darstellen soll, definiert das Text-Encoding. Das Text-Encoding ist somit eine Art Codierungstabelle (Zeichensatz), worin definiert ist, welcher Byte-Wert welchem darzustellenden Zeichen entspricht. Zum Beispiel entspricht der Wert 65 (Codepunkt genannt) dem Zeichen “A” im Encoding "ANSI".


Das Text-Encoding ist somit eine Art Brille, wie die Byte-Folge in einer Datei interpretiert und angezeigt werden soll. Man kann jederzeit die Brille resp. das Encoding (Zeichensatz) wechseln und die Daten in einer anderen Darstellung anschauen, wobei dann vermutlich nicht mehr sinnvolle Zeichenfolgen entstehen. Deshalb sieht man bei einem falsch gewählten Encoding vorallem gewisse Sonderzeichen und Umlaute wie "ä" plötzlich als komische Hieroglyphen wie "ä". Sobald wieder das korrekte Encoding angewendet wird, werden die Zeichen für uns wieder leserlich dargestellt.


Es gibt vorallem aus historischen Gründen unterschiedliche Text-Encodings, um die Zeichen der verschiedensten Sprachen darzustellen zu können. Hier ein paar wenige bekannte Encodings: ASCII, ANSI, ISO 8859-1, UTF-8, UTF-16


In der Zwischenzeit hat sich aber das Encoding UTF-8 durchgesetzt, denn UTF-8 kodiert Zeichen in verschiedener Bytelänge, womit viel mehr Unicode-Zeichen definiert sind. Dankdem können viele Sprachen inklusive Emojis abgedeckt werden.


Doch wie finde ich nun heraus, welche Brille resp. Encoding ich zum Einlesen einer bestimmten Textdatei anwenden soll?



Wie du das richtige Encoding erkennen kannst

Grundsätzlich kann man das Encoding nicht direkt auslesen, sondern muss bei Bedarf verschiedene Brillen resp. die Encodings durchprobieren, bis man den vorliegenden Inhalt richtig lesen kann.


Manuelles Durchprobieren von Encodings

Das heisst man muss nach möglichen Wörter suchen, welche enthalten sein könnten und schauen, ob diese mit dem gewählten Encoding richtig dargestellt werden. Dazu eignen sich im Deutschen Sprachraum Wörter mit Umlaute wie "März". Wenn das Wort "März" im Inhalt gefunden und korrekt gelesen werden kann, hat man mit grosser Wahrscheinlichkeit das richtige Encoding ausgewählt.

Ich empfehle im Zweifelsfall zuerst mit UTF-8 zu starten, da dieses Encoding sehr verbreitet ist. Wenn komische Zeichen dargestellt werden, dann würde ich im zweiten Schritt mit ANSI fortfahren.


Sichere Erkennung dank Marker (BOM)

Damit das Durchprobieren erspart bleibt, können Textdateien auch mit einem Marker versehen werden. Dies bedeutet, dass diese Textdatei jeweils mit einer definierten Byte-Kombination beginnen. Man spricht hier von einer Byte Order Mark (BOM). Sobald ein Texteditor eine vorgegebene Byte-Folge zu Beginn der Datei erkennt, kann das passende Encoding automatisch angewendet werden. Die Byte Order Mark (BOM) wird dabei vom Editor für den Benutzer verborgen, denn diese dient ja lediglich zur Kennung vom richtigen Encoding und gehört nicht direkt zum Inhalt.

Leider unterstützen nicht alle Editoren diese Marker, so dass viele Textdateien keinen BOM enthalten. Aber der smasi CSV-Wizard unterstützt selbstverständlich die automatische Erkennung mittels BOM, womit das Einlesen von Dateien für dich so vereinfacht wird.


Hilfsmittel um das passende Encoding herauszufinden

Sobald eine Datei eine Byte Order Mark (BOM) enthält, wird smasi CSV-Wizard das richtige Encoding automatisch bestimmen. Wenn dieser BOM aber fehlt, wirst du beim Öffnen der Datei das Encoding manuell bestimmen müssen.


Aber auch da unterstützt dich smasi CSV-Wizard, um dies zu erleichtern:


Passendes Encoding mittels CSV-Wizard ermitteln

Auf der entsprechenden Format-Seite kannst du die verschiedenen Encodings auswählen und danach über den Link "Inhalt anzeigen" direkt prüfen.

In diesem Bespiel wurde "ANSI" als Encoding ausgewählt, wobei aber der Inhalt aktuell nicht richtig dargestellt wird. Das heisst du musst in in diesem Fall mit einer anderen Zeichensatz weitersuchen. Damit du die Encoding manuell durcprobieren kannst, musst du vorab zuoberst die Option 'Selbstdefiniertes Format' auswählen.


So kannst du mit wenigen Mausklicks die passende Encoding-Einstellung ermitteln.


 

Weitere Informationen

Aktuelle Beiträge

bottom of page