In der Terminologie der Zeichenkodierung ist ein Codepunkt oder eine Codeposition einer der numerischen Werte, aus denen der Codespace besteht . [1] [2] Viele Codepunkte stellen einzelne Zeichen dar, können aber auch andere Bedeutungen haben, z. B. für die Formatierung. [3]
Beispielsweise umfasst das Zeichencodierungsschema ASCII 128 Codepunkte im Bereich von 0 hex bis 7F hex , Extended ASCII umfasst 256 Codepunkte im Bereich von 0 hex bis FF hex und Unicode umfasst 1.114.112 Codepunkte im Bereich von 0 hex bis 10FFFF hex . Der Unicode-Code-Raum ist in siebzehn Ebenen (die mehrsprachige Grundebene und 16 zusätzliche Ebenen) mit jeweils 65.536 (= 2 16 ) Codepunkten unterteilt. Somit beträgt die Gesamtgröße des Unicode-Coderaums 17 × 65.536 = 1.114.112.
Definition
Der Begriff eines Codepunkts wird zur Abstraktion verwendet, um beide zu unterscheiden:
- die Nummer aus einer Codierung als Folge von Bits und
- das abstrakte Zeichen aus einer bestimmten grafischen Darstellung ( Glyphe ).
Dies liegt daran, dass man diese Unterscheidungen treffen möchte, um:
- einen bestimmten Codebereich auf unterschiedliche Weise codieren oder
- Zeigen Sie ein Zeichen über verschiedene Glyphen an.
Für Unicode wird die bestimmte Sequenz von Bits , die eine genannten Code - Einheit - für die UCS-4 - Codierung wird jeder Codepunkt codiert als 4- Byte ( Oktett ) Binärzahlen , während in der UTF-8 - Codierung werden verschiedene Codepunkte codiert Sequenzen von einem bis vier Bytes Länge, die einen selbstsynchronisierenden Code bilden . Weitere Informationen finden Sie im Vergleich der Unicode-Codierungen . Codepunkte werden normalerweise abstrakten Zeichen zugewiesen . Ein abstraktes Zeichen ist keine grafische Glyphe, sondern eine Einheit von Textdaten. Codepunkte können jedoch auch für zukünftige Zuweisungen reserviert bleiben (der größte Teil des Unicode-Codebereichs ist nicht zugewiesen) oder anderen festgelegten Funktionen zugewiesen werden.
Die Unterscheidung zwischen einem Codepunkt und dem entsprechenden abstrakten Zeichen wird in Unicode nicht ausgeprägt, jedoch ist offensichtlich für viele andere Codierschemata, wo zahlreiche Codepages für einen einzelnen Coderaum existieren.
Geschichte
Das Konzept eines Codepunkts ist Teil der Lösung von Unicode für ein schwieriges Rätsel, mit dem Entwickler von Zeichenkodierungen in den 1980er Jahren konfrontiert waren. [4] Wenn sie mehr Bits pro Zeichen hinzufügen würden, um größere Zeichensätze aufzunehmen, würde diese Entwurfsentscheidung auch eine inakzeptable Verschwendung der damals knappen Rechenressourcen für Benutzer lateinischer Skripte darstellen (die zu dieser Zeit die überwiegende Mehrheit der Computerbenutzer ausmachten) Diese zusätzlichen Bits würden für solche Benutzer immer auf Null gesetzt. [5] Der Codepunkt vermeidet dieses Problem, indem er die alte Idee einer direkten Eins-zu-Eins-Entsprechung zwischen Zeichen und bestimmten Folgen von Bits bricht.
Siehe auch
Verweise
- ^ Glossar der Unicode-Begriffe
- ^ "Die Unicode® Standard Version 11.0 - Kernspezifikation" (PDF) . Unicode-Konsortium . 30. Juni 2018. p. 22. Archiviert vom Original (pdf) am 19. September 2018 . Abgerufen am 25. Dezember 2018 .
Auf einem Computer werden abstrakte Zeichen intern als Zahlen codiert. Um eine vollständige Zeichenkodierung zu erstellen, muss die Liste aller zu kodierenden Zeichen definiert und systematische Regeln für die Darstellung der Zeichen durch die Zahlen festgelegt werden. Der Bereich von Ganzzahlen, der zum Codieren der abstrakten Zeichen verwendet wird, wird als Codespace bezeichnet. Eine bestimmte Ganzzahl in dieser Menge wird als Codepunkt bezeichnet. Wenn ein abstraktes Zeichen einem bestimmten Codepunkt im Codespace zugeordnet oder zugewiesen wird, wird es als codiertes Zeichen bezeichnet.
- ^ "Die Unicode® Standard Version 11.0 - Kernspezifikation" (PDF) . Unicode-Konsortium . 30. Juni 2018. p. 23. Archiviert vom Original (pdf) am 19. September 2018 . Abgerufen am 25. Dezember 2018 .
Format: Unsichtbar, wirkt sich jedoch auf benachbarte Zeichen aus. enthält Zeilen- / Absatztrennzeichen
- ^ Constable, Peter (13. Juni 2001). "Unicode ™ - I verstehen" . NRSI: Computer & Schreibsysteme . Archiviert vom Original (html) am 16. September 2010 . Abgerufen am 25. Dezember 2018 .
In den frühen 1980er Jahren erkannte die Softwareindustrie die Notwendigkeit einer Lösung für die Probleme, die mit der Verwendung von Codierungsstandards für mehrere Zeichen verbunden sind. Einige besonders innovative Arbeiten wurden bei Xerox begonnen. Die Xerox Star-Workstation verwendete eine Multi-Byte-Codierung, die es ihr ermöglichte, einen einzelnen Zeichensatz mit möglicherweise Millionen von Zeichen zu unterstützen.
- ^ Mark Davis, Ken Whistler (23. März 2001). "Unicode Technical Standard # 10 UNICODE COLLATION ALGORITHM" . Unicode-Konsortium . Archiviert vom Original (html) am 25. August 2001 . Abgerufen am 25. Dezember 2018 .
6.2 Große Gewichtswerte
CS1-Wartung: Verwendet den Autorenparameter ( Link )