Codepunkt

Im Zeichenkodierung Terminologie, a Codepunkt, Codepoint oder Codeposition ist ein numerischer Wert, der einem bestimmten Karten kartiert Charakter. Codepunkte stellen normalerweise eine einzeln dar Graphem- Normalerweise ein Buchstaben, eine Ziffer, eine Zeichensetzung oder eine Weißespace - jedoch manchmal Symbole darstellen, Steuerzeichen, oder formatieren.[1] Der Satz aller möglichen Codepunkte innerhalb einer bestimmten Codierung/Zeichensetie besteht darin Codespace.[2][3]

Zum Beispiel das Charakter -Codierungsschema ASCII enthält 128 Codepunkte im Bereich 0verhexen bis 7fverhexen, Erweiterte ASCII enthält 256 Codepunkte im Bereich 0verhexen zu ffverhexen, und Unicode umfasst 1.114.112 Codepunkte im Bereich 0verhexen bis 10ffffverhexen. Der Unicode -Coderaum ist in siebzehn unterteilt Flugzeuge (Die grundlegende mehrsprachige Ebene und 16 ergänzende Ebenen) mit jeweils 65.536 (= 2)16) Codepunkte. 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 Zahl aus einer Codierung als Abfolge von Bits, und
  • das abstrakte Zeichen aus einer bestimmten grafischen Darstellung (Glyphe).

Dies liegt daran, dass man diese Unterscheidungen möglicherweise treffen möchte:

  • codieren einen bestimmten Coderaum auf unterschiedliche Weise oder oder
  • Zeigen Sie ein Zeichen über verschiedene Glyphen an.

Für Unicode wird die bestimmte Sequenz von Bits a genannt Codeeinheit - für die UCS-4 Codierung wird jeder Codepunkt als 4- codiertByte (Oktett) Binärzahlen, während in der UTF-8 Codierung, unterschiedliche Codepunkte werden als Sequenzen von ein bis vier Bytes lang codiert und bilden a Selbstsynchronisierungscode. Sehen Vergleich von Unicode -Codierungen für Details. Codepunkte werden normalerweise abstrakt zugeordnet Figuren. Ein abstrakt Das Zeichen ist keine grafische Glyphe, sondern eine Einheit von Textdaten. Codepunkte können jedoch auch für die zukünftige Zuordnung reserviert werden (der größte Teil des Unicode -Coderaums ist nicht zugewiesen) oder bei anderen festgelegten Funktionen.

Die Unterscheidung zwischen einem Codepunkt und dem entsprechenden abstrakten Zeichen ist in Unicode nicht ausgesprochen, sondern für viele andere Codierungsschemata, bei denen zahlreich Codeseiten kann für einen einzelnen Coderaum existieren.

Geschichte

Das Konzept eines Codepunkts ist Teil der Lösung von Unicode für ein schwieriges Rätsel, das in den 1980er Jahren von Charaktercodierungsentwicklern ausgesetzt ist.[4] Wenn sie mehr Bits pro Charakter hinzufügen, um größere Charakter-Sets aufzunehmen, würde diese Entwurfsentscheidung auch eine inakzeptable Verschwendung von damals-Scarce-Computerressourcen für darstellen Lateinisches Skript Benutzer (die zu diesem Zeitpunkt die überwiegende Mehrheit der Computerbenutzer bestanden haben), da diese zusätzlichen Teile für solche Benutzer immer aufgenommen würden.[5] Der Codepunkt vermeidet dieses Problem, indem sie die alte Idee einer direkten Eins-zu-Eins-Korrespondenz zwischen Zeichen und bestimmten Sequenzen von Bits durchbricht.

Siehe auch

Verweise

  1. ^ "Die Unicode® Standard Version 11.0 - Kernspezifikation" (PDF). Unicode -Konsortium. 30. Juni 2018. p. 23. archiviert von das Original (PDF) am 19. September 2018. Abgerufen 25. Dezember 2018. Format: unsichtbar, beeinflusst aber benachbarte Charaktere; Enthält Linien-/Absatzabscheider
  2. ^ Glossar der Unicode -Begriffe
  3. ^ "Die Unicode® Standard Version 11.0 - Kernspezifikation" (PDF). Unicode -Konsortium. 30. Juni 2018. p. 22. archiviert von das Original (PDF) am 19. September 2018. Abgerufen 25. Dezember 2018. Auf einem Computer werden abstrakte Zeichen intern als Zahlen codiert. Um eine vollständige Charaktercodierung zu erstellen, muss die Liste aller Zeichen definiert werden, die codiert werden sollen, und systematische Regeln für die Darstellung der Zahlen die Zeichen festzulegen. Der Bereich der Ganzzahlen, die zum Code der abstrakten Zeichen verwendet werden, wird als Codespace bezeichnet. Eine bestimmte Ganzzahl in diesem Satz wird als Codepunkt bezeichnet. Wenn ein abstraktes Zeichen kartiert oder einem bestimmten Codepunkt im Codespace zugeordnet ist, wird er als codedcharacter bezeichnet.
  4. ^ Constable, Peter (13. Juni 2001). "Unicode ™ verstehen - ich". NRSI: Computer & Schreibsysteme. Archiviert von das Original (HTML) am 16. September 2010. Abgerufen 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 mehrerer Charakter -Codierungsstandards verbunden sind. Einige besonders innovative Arbeiten wurden bei Xerox begonnen. Die Xerox Star Workstation verwendete eine Multi-Byte-Codierung, mit der es einen einzelnen Charakter mit potenziell Millionen von Zeichen unterstützte.
  5. ^ Mark Davis, Ken Whistler (23. März 2001). "Unicode Technischer Standard Nr. 10 Unicode Collation Algorithmus". Unicode -Konsortium. Archiviert von das Original (HTML) am 25. August 2001. Abgerufen 25. Dezember 2018. 6,2 große Gewichtswerte{{}}: CS1 Wartung: Verwendet Autorenparameter (Link)

Externe Links