Textdatei/Zeichencodierung
Zeichencodierung - Zeichencodierung von Textdatei
Beschreibung
Der bei Textdateien physisch binär vorliegende Inhalt wird nach einer für die jeweilige Datei fest vorgegebenen Regel in Text umgewandelt
- Dabei sind folgende Zeichencodierungen gebräuchlich
- ASCII stellt das am weitesten verbreitete Format dar – insbesondere, wenn die diversen Erweiterungen des Standards einbezogen werden
- ISO 8859-1 (auch bekannt als Latin-1) und ISO 8859-15 sind standardisierte Erweiterungen des ASCII, die die Grundlage des bei Windows im englischen und westeuropäischen Sprachraum verwendeten Codes Windows-1252 bilden
- EBCDIC ist eine auf Großrechnern von IBM gebräuchliche Codierung
- Unicode ist ein internationaler Standard, der weltweit alle sinntragenden Zeichen abbildet
- Im Gegensatz zu obigen Codierungen kommt Unicode dabei nicht mit 8 Bit (das heißt einem Byte) aus, da Unicode weit mehr als 256 verschiedene Zeichen definiert
Bei der Verwendung von Unicode ist die generelle Umsetzung eines Zeichens in ein Byte nicht anwendbar
- Es gibt unterschiedliche Verfahren, Unicode in eine Bytefolge umzusetzen
- Am meisten verwendet werden hierbei Codierungen mit dem Ziel, die Dateigröße bei Auftreten der gebräuchlichsten Zeichen zu minimieren
- Hierfür wird allerdings die Regel „geopfert“, dass jedes Zeichen immer mit derselben Anzahl Bytes codiert wird
- Ein Beispiel hierfür ist die verbreitete Codierung UTF-8, die zudem die Besonderheit aufweist, dass alle im ursprünglichen ASCII enthaltenen Zeichen genau auf die gleiche Weise wie bei ASCII in einem Byte codiert werden
- Der binäre Inhalt einer Datei, die ausschließlich aus solchen Zeichen besteht, ist also identisch, unabhängig davon, ob sie in ASCII oder UTF-8 codiert wurde
Bei Unicode existiert zudem die Konvention, am Beginn einer Datei mittels spezieller Bytefolgen (sogenannte Byte Order Marks) kenntlich zu machen, welche Unicode-Codierung verwendet wird
- Dies ist auch deshalb nötig, da auf vielen Systemen – auch unter Windows – die bisherige auf ASCII basierende Codierung und Unicode parallel verwendet werden
- Bei einer solchen Codierung beginnt die Grenze zur Binärdatei zu verschwimmen
Wird eine Textdatei unter Verwendung einer falschen Zeichencodierung interpretiert, kann sie gänzlich unlesbar sein, wenn vollständig inkompatible Codierungen verwendet werden – wie beispielsweise ASCII und EBCDIC
- Wird hingegen eine abweichende, aus dem ursprünglichen ASCII abgeleitete Codierung verwendet, werden lediglich die Sonderzeichen – beispielsweise die deutschen Umlaute – falsch dargestellt, da diese nicht Bestandteil der ersten 128 standardisierten Zeichen des ASCII sind