U4: Zeichensätze
Ein Zeichensatz kann als Tabelle interpretiert werden, welche eine Sammlung von Schriftzeichen als Einträge beinhaltet. Jedem einzelnen Zeichen wird dabei ein Code zur eindeutigen Identifikation zugewiesen. Auch Daten bezüglich des Umgangs mit dem Zeichen (Kategorie, Blockzuordnung, Schreibrichtung, Bidirektionalität) können im Zeichensatz enhalten sein.
Mit Hilfe eines Zeichenkodierungssystems (bspw. UTF-8) lässt sich nun dieser eindeutige Code binär kodieren, um ihn für elektronische Geräte lesbar zu machen. Auf dem Zielgerät kann die Bitfolge nun mit dem gleichen Zeichensatz und Zeichenkodierungssystem dekodiert und interpretiert werden.
Zeichensätze bieten somit eine einheitliche Form der Ausgabe von Glyphen.
Standardisierte (genormte) Zeichensätze: entsprechen offiziellen Standards, die für alle Geräte und Systeme einheitlich sind.
Beispiele hierfür sind:
- ASCII (Amercian Standard Code for Information Interchange)
- ist der erste entwickelte Zeichensatz
- umfasst 7 Bit (128 Zeichen)
- enthält ausschließlich Grundlegende Zeichen zur Kommunikation in amerikanischer Sprache
- ISO-8859:
- ist eine Erweiterung des ASCII-Zeichensatzes
- bietet in Form von 15 standardisierten Zeichensätzen Lösungen für verschiedene Sprachen und Schriftsysteme
- umfassen jeweils 256 Zeichen (ASCII+128 weitere der/des jeweiligen Sprache/Systems)
- unflexibel / umständlich, da Einschränkung auf Sprache / Schriftsystem der ausgewählten ISO-8859 Version
- Unicode Standard:
- umfasst über 143.000 Zeichen
- beinhaltet nahezu alle menschengemachten Schriftzeichen (bietet eine ganzheitliche Lösung)
- wird stetig weiterentwickelt
- deckt ASCII ab
- besitzt mit UTF-8, UTF-16 und UTF-32 eine flexible Palette an Zeichenkodierungssystemen
Unicode Zeichenkodierungssysteme:
UTF-8: kodiert mit einer variablen Menge von einem bis vier Byte. Bytegruppen müssen innerhalb der Bytes markiert werden und mit einem Algorithmus ausgelesen.
- + geringe Datenmengen
- + hohe Flexibilität
- - der Algorithmus benötigt zusätzliche Rechenleistung
UTF-16: kodiert mit festen 2 bzw. 4 (Surrogat-Paare) Byte. UTF-16 ist für Schriftsysteme mit vielen Zeichen mit höheren Code Points optimiert und eignet sich besonders gut für Anwendungen, die ein schnelles Navigieren innerhalb längerer Texte erfordern.
- + schneller auszulesen, für schnelle Darstellung großer Textmengen optimiert
- - höhere Datenmenge
UTF-32: kodiert jedes Zeichen mit 4 Byte. UTF-32 ist einfach zu implementieren und eignet sich am besten für Anwendungen, die schnellen Zugriff auf einzelne Zeichen erfordern.
- + schnell auszulesen, da jeder Buchstabe eindeutig 4 Bytes belegt
- - große Datenmengen
Sie sind Methoden der Kodierung zur Speicherung und zum Transfer von Daten, heißt, sie verwenden Algorhitmen zur Kodierung / Dekodierung.
Fragen zu Zeichensätzen:
Was versteht man unter einem Character Set (Zeichenvorrat)?
Die Gesamtheit der Zeichen, die für eine bestimmte Anwendung oder Sprache zur Verfügung stehen (Buchstaben, Ziffern, Sonderzeichen (Interpunktionszeichen, diakritische Zeichen, typografische Satzzeichen).
Was ist ein Code Space (Coderaum, Codemenge)?
Ein Code Space bezieht sich auf den gesamten Bereich der möglichen Code Points eines Zeichensatzes. Es ist der Bereich der numerischen Werte, die verwendet werden, um jedem Zeichen im Zeichensatz einen eindeutigen Code Point zuzuordnen.
Was ist eine Code Page (Zeichensatztabelle)?
Code Pages sind tabellarische Zuweisungen von Code Points zu Binärcodes, welche wiederum zur Speicherung, zum Transfer oder Ähnlichem von elektronischen Geräten verarbeitet werden können.
Jeder Zeichensatz hat (ausgenommen Kodierungssysteme mit Methoden) seine eigene Code Page.
Die Code Page dient als Mapping zwischen den Code Points und den entsprechenden Zeichen des Zeichenvorrates.
Sie unterscheiden sich von Methoden wie UTF-8, da Code Pages tabellarische Zuweisungen von Code Points zu Binärcodes sind und keine Algorithmen beinhalten.
Was ist ein Encoded Character?
Ein Encoded Character ist die binäre Darstellung eines bestimmten Code Points aus einem Zeichensatz, der einem bestimmten Zeichen eindeutig zugeordnet ist. Sie sind beispielsweise in der Code Page enthalten.
Was ist ein Code Point?
Einer der eindeutig zugewiesenen Werte (für einen Buchstaben) aus der Spalte im Code Spaces.