Was sind Zeichenkodierungen wie ANSI und Unicode und wie unterscheiden sie sich?
ASCII, UTF-8, ISO-8859… Sie haben vielleicht diese seltsamen Moniker gesehen, die herumschweben, aber was bedeuten sie eigentlich? Lesen Sie weiter, wenn Sie erklären, was Zeichenkodierung ist und wie sich diese Akronyme auf den Klartext beziehen, den wir auf dem Bildschirm sehen.
Grundbausteine
Wenn wir über geschriebene Sprache sprechen, sprechen wir darüber, dass Buchstaben die Bausteine von Wörtern sind, die dann Sätze, Absätze usw. bilden. Buchstaben sind Symbole, die Töne repräsentieren. Wenn Sie über Sprache sprechen, sprechen Sie über Gruppen von Klängen, die sich zu einer Art von Bedeutung zusammenfügen. Jedes Sprachensystem hat einen komplexen Satz von Regeln und Definitionen, die diese Bedeutungen bestimmen. Wenn Sie ein Wort haben, ist es nutzlos, wenn Sie nicht wissen, aus welcher Sprache es stammt, und Sie es mit anderen verwenden, die diese Sprache sprechen.
(Vergleich von Grantha-, Tulu- und Malayalam-Skripten, Bild aus Wikipedia)
In der Welt der Computer verwenden wir den Begriff „Charakter“. Ein Charakter ist eine Art abstraktes Konzept, das durch bestimmte Parameter definiert wird, aber es ist die grundlegende Einheit der Bedeutung. Das lateinische 'A' ist nicht dasselbe wie ein griechisches 'Alpha' oder ein arabisches 'Alif', weil sie unterschiedliche Kontexte haben - sie stammen aus verschiedenen Sprachen und haben leicht unterschiedliche Aussprache - daher können wir sagen, dass es sich um unterschiedliche Zeichen handelt. Die visuelle Darstellung eines Zeichens wird als "Glyphe" bezeichnet, und verschiedene Gruppen von Glyphen werden als Schriftarten bezeichnet. Gruppen von Charakteren gehören zu einem "Set" oder "Repertoire".
Wenn Sie einen Absatz eingeben und die Schriftart ändern, ändern Sie nicht die phonetischen Werte der Buchstaben, sondern Sie ändern ihr Aussehen. Es ist nur kosmetisch (aber nicht unwichtig!). Einige Sprachen, wie das alte ägyptische und chinesische, haben Ideogramme; diese repräsentieren ganze Ideen anstelle von Klängen, und ihre Aussprache kann sich über Zeit und Entfernung unterscheiden. Wenn Sie einen Charakter durch einen anderen ersetzen, ersetzen Sie eine Idee. Es ist mehr als nur das Ändern von Buchstaben, sondern das Ändern eines Ideogramms.
Zeichenkodierung
(Bild aus Wikipedia)
Wie kann der Computer wissen, was angezeigt werden soll, wenn Sie etwas auf der Tastatur eingeben oder eine Datei laden? Dafür gibt es die Zeichencodierung. Bei Text auf Ihrem Computer handelt es sich nicht wirklich um Buchstaben, sondern um eine Reihe gepaarter alphanumerischer Werte. Die Zeichenkodierung fungiert als Schlüssel, für den die Werte welchen Zeichen entsprechen, ähnlich wie die Orthographie bestimmt, welche Laute welchen Buchstaben entsprechen. Morsecode ist eine Art Zeichencodierung. Es wird erläutert, wie lange und kurze Einheiten wie Pieptöne Zeichen darstellen. In Morse-Code sind die Zeichen nur englische Buchstaben, Zahlen und Punkte. Es gibt viele Computerzeichencodierungen, die in Buchstaben, Zahlen, Akzente, Satzzeichen, internationale Symbole usw. übersetzt werden.
Zu diesem Thema wird häufig auch der Begriff "Codepages" verwendet. Es handelt sich im Wesentlichen um Zeichenkodierungen, wie sie von bestimmten Unternehmen verwendet werden, oft mit geringfügigen Modifikationen. Beispielsweise ist die Windows 1252-Codepage (früher bekannt als ANSI 1252) eine modifizierte Form des ISO-8859-1. Sie werden meistens als internes System verwendet, um auf Standard- und geänderte Zeichencodierungen zu verweisen, die für dieselben Systeme spezifisch sind. Früher war die Zeichenkodierung nicht so wichtig, da die Computer nicht miteinander kommunizieren. Das Internet gewinnt an Bedeutung und die Vernetzung ist ein alltägliches Ereignis. Daher ist es im täglichen Leben immer wichtiger geworden, ohne dass wir es überhaupt merken.
Viele verschiedene Arten
(Bild von sarah sosiak)
Es gibt viele verschiedene Zeichencodierungen, und dafür gibt es viele Gründe. Welche Zeichenkodierung Sie verwenden, hängt von Ihren Anforderungen ab. Wenn Sie auf Russisch kommunizieren, ist es sinnvoll, eine Zeichencodierung zu verwenden, die Kyrillisch gut unterstützt. Wenn Sie auf Koreanisch kommunizieren, möchten Sie etwas, das Hangul und Hanja gut repräsentiert. Wenn Sie Mathematiker sind, möchten Sie etwas, das alle wissenschaftlichen und mathematischen Symbole sowie die griechischen und lateinischen Glyphen gut darstellt. Wenn Sie ein Schelm sind, könnten Sie möglicherweise von auf dem Kopf stehendem Text profitieren. Wenn Sie möchten, dass alle diese Dokumenttypen von einer bestimmten Person angezeigt werden, möchten Sie eine Kodierung, die häufig verwendet wird und leicht zugänglich ist.
Schauen wir uns einige der häufigsten an.
(Auszug aus ASCII-Tabelle, Bild von asciitable.com)
- ASCII - Der amerikanische Standardcode für den Informationsaustausch ist eine der älteren Zeichencodierungen. Es wurde ursprünglich auf der Grundlage telegrafischer Codes entwickelt und entwickelte sich im Laufe der Zeit zu mehr Symbolen und einigen nicht mehr aktuellen, nicht gedruckten Steuerzeichen. Es ist wahrscheinlich so grundlegend, wie es für moderne Systeme möglich ist, da es auf das lateinische Alphabet ohne Akzentzeichen beschränkt ist. Seine 7-Bit-Kodierung erlaubt nur 128 Zeichen, weshalb weltweit verschiedene inoffizielle Varianten verwendet werden.
- ISO-8859 - Die am häufigsten verwendete Gruppe von Zeichenkodierungen der International Organization for Standardization ist die Nummer 8859. Jede spezifische Kodierung wird mit einer Nummer bezeichnet, die oft mit einem beschreibenden Zeichen versehen ist, z. ISO-8859-3 (Latin-3), ISO-8859-6 (Latein / Arabisch). Es ist eine Obermenge von ASCII, was bedeutet, dass die ersten 128 Werte in der Kodierung mit ASCII identisch sind. Es ist jedoch 8-Bit und erlaubt 256 Zeichen, so dass es von dort aus weiterentwickelt wird und ein viel breiteres Array von Zeichen enthält, wobei jede spezifische Kodierung auf einen anderen Satz von Kriterien fokussiert ist. Latin-1 enthielt eine Reihe von Buchstaben und Symbolen mit Akzent, wurde jedoch später durch ein überarbeitetes Set namens Latin-9 ersetzt, das aktualisierte Glyphen wie das Euro-Symbol enthält.
(Auszug aus tibetischer Schrift, Unicode v4, von unicode.org)
- Unicode - Dieser Kodierungsstandard zielt auf Universalität ab. Es umfasst derzeit 93 Skripte, die in mehreren Blöcken organisiert sind, wobei viele weitere in Arbeit sind. Unicode funktioniert anders als andere Zeichensätze, da jeder Wert nicht direkt für eine Glyphe codiert, sondern an einen „Codepunkt“ weitergeleitet wird. Hierbei handelt es sich um hexadezimale Werte, die Zeichen entsprechen, die Glyphen selbst jedoch vom Programm getrennt bereitgestellt werden wie zum Beispiel Ihren Webbrowser. Diese Codepunkte werden im Allgemeinen wie folgt dargestellt: U + 0040 (was in '@' übersetzt wird). Spezifische Kodierungen unter dem Unicode-Standard sind UTF-8 und UTF-16. UTF-8 versucht, maximale Kompatibilität mit ASCII zu ermöglichen. Es ist 8 Bit, erlaubt aber alle Zeichen über einen Substitutionsmechanismus und mehrere Wertepaare pro Zeichen. UTF-16 zeichnet perfekte ASCII-Kompatibilität für eine vollständigere 16-Bit-Kompatibilität mit dem Standard.
- ISO-10646 - Dies ist keine eigentliche Kodierung, sondern ein von der ISO standardisierter Zeichensatz von Unicode. Dies ist hauptsächlich wichtig, da es sich um das von HTML verwendete Zeichenrepertoire handelt. Einige der fortschrittlicheren Funktionen von Unicode, die eine Sortierung und ein Script von rechts nach links neben einem Script von links nach rechts ermöglichen, fehlen. Trotzdem funktioniert es sehr gut für die Verwendung im Internet, da es die Verwendung einer Vielzahl von Skripts ermöglicht und der Browser die Glyphen interpretieren kann. Dies macht die Lokalisierung etwas einfacher.
Welche Kodierung soll ich verwenden??
Nun, ASCII funktioniert für die meisten Englischsprachigen, aber nicht für viel anderes. Häufiger wird ISO-8859-1 angezeigt, das für die meisten westeuropäischen Sprachen geeignet ist. Die anderen Versionen von ISO-8859 funktionieren für kyrillische, arabische, griechische oder andere spezifische Skripte. Wenn Sie jedoch mehrere Skripts im selben Dokument oder auf derselben Webseite anzeigen möchten, bietet UTF-8 eine wesentlich bessere Kompatibilität. Es funktioniert auch sehr gut für Leute, die richtige Satzzeichen, mathematische Symbole oder Zeichen außerhalb der Manschette verwenden, wie zum Beispiel Quadrate und Kontrollkästchen.
(Mehrere Sprachen in einem Dokument, Screenshot von gujaratsamachar.com)
Es gibt jedoch Nachteile für jedes Set. ASCII ist in seinen Interpunktionszeichen begrenzt, sodass es für typografisch korrekte Bearbeitungen nicht besonders gut funktioniert. Immer Typ copy / paste aus Word, um eine seltsame Kombination von Glyphen zu haben? Das ist der Nachteil von ISO-8859 oder, genauer gesagt, der Interoperabilität mit betriebssystemspezifischen Codeseiten (wir betrachten SIE, Microsoft!). Der Hauptnachteil von UTF-8 ist die fehlende Unterstützung bei der Bearbeitung und Veröffentlichung von Anwendungen. Ein weiteres Problem ist, dass Browser die Bytereihenfolge eines UTF-8-codierten Zeichens oft nicht interpretieren und nur anzeigen. Dies führt dazu, dass unerwünschte Glyphen angezeigt werden. Wenn Sie eine Kodierung deklarieren und Zeichen aus einer anderen verwenden, ohne sie auf einer Webseite richtig zu deklarieren / zu referenzieren, ist es für Browser schwierig, sie korrekt wiederzugeben und von Suchmaschinen entsprechend zu indizieren.
Für Ihre eigenen Dokumente, Manuskripte usw. können Sie alles verwenden, was Sie benötigen, um die Arbeit zu erledigen. Was das Internet angeht, scheint es jedoch so, dass sich die meisten Leute darauf einigen, eine UTF-8-Version zu verwenden, die keine Bytereihenfolge-Marke verwendet. Dies ist jedoch nicht völlig übereinstimmend. Wie Sie sehen, hat jede Zeichenkodierung ihre eigene Verwendung, ihren Kontext sowie ihre Stärken und Schwächen. Als Endbenutzer müssen Sie sich wahrscheinlich nicht damit befassen, aber jetzt können Sie den zusätzlichen Schritt nach vorne machen, wenn Sie dies wünschen.