Der Universal Coded Character Set (UCS) ist ein Zeichensatz, der in der internationalen Norm ISO/IEC 10646 definiert ist. Seit der Revision 2011 (ISO/IEC 10646:2011) sind die definierten Zeichenkodierungen einschließlich ihrer Benennungen identisch mit denen des Unicode-Standards:

Ältere Ausgaben der Norm definierten andere Kodierungen, die jetzt deprecated sind:

  • UCS-2, Untermenge von UTF-16
  • UCS-4, als Codierung identisch mit UTF-32

Der Unterschied zwischen UCS-2 und UTF-16 ist folgender:

  • UCS-2 ist eine Fixed-Byte-Kodierung: jedes Zeichen ist genau 2 Byte lang. UCS-2 kann damit die 65.536 Zeichen der Basic Multilingual Plane (BMP) darstellen.
  • UTF-16 ist eine Flexible-Byte-Kodierung: ein einzelnes Zeichen ist 2 Byte oder 4 Byte lang – 2 Byte bei Zeichen in der oben genannten BMP, 4 Byte bei Zeichen außerhalb der BMP.

Dadurch hat jedes UCS2-Zeichen den gleichen Codepoint wie das entsprechende UTF-16-Zeichen, aber nicht jedes UTF-16-Zeichen kann in UCS-2 dargestellt werden (wenn es nämlich in UTF-16 vier Byte umfasst).

Der UCS wird entwickelt von ISO/IEC/JTC1/SC2/WG2. Die Gruppe arbeitet sehr eng mit dem Unicode-Konsortium zusammen, das die Standards ständig in neuen Versionen synchronisiert. Aufgrund dessen sind alle Kodierungen aus Gründen der Interoperabilität beschränkt auf die bei Unicode erlaubten 1.112.064 Zeichen (= 220+216, abzüglich 211 = 2048 Surrogate von UTF-16), nämlich von U+00000 bis U+0D7FF sowie von U+0E000 bis U+10FFFF.

Ursprünglich wurden diese beiden Formate definiert:

In der Version ISO/IEC 10646-3:2003 wurden die gleichen Formate UTF-8, UTF-16 und UTF-32 beschrieben wie in Unicode 4.0.

Gegenüberstellung der Versionen

  • ISO/IEC 10646-1:1993 ≈ Unicode 1.1
    • plus ISO/IEC 10646-1:1993/Amd 5:1998 bis ISO/IEC 10646-1:1993/Amd 7:1997 ≈ Unicode 2.0/2.1
  • ISO/IEC 10646-1:2000 ≈ Unicode 3.0
    • plus ISO/IEC 10646-2:2001 ≈ Unicode 3.1
    • plus ISO/IEC 10646-1:2000/Amd 1:2002 ≈ Unicode 3.2
  • ISO/IEC 10646-3:2003 ≈ Unicode 4.0
    • plus ISO/IEC 10646:2003/Amd 1:2005 ≈ Unicode 4.1
    • plus ISO/IEC 10646:2003/Amd 2:2006 ≈ Unicode 5.0
    • plus ISO/IEC 10646:2003/Amd 3:2008 und ISO/IEC 10646:2003/Amd 4:2008 ≈ Unicode 5.1
    • plus ISO/IEC 10646:2003/Amd 5:2008 und ISO/IEC 10646:2003/Amd 6:2009 ≈ Unicode 5.2
  • ISO/IEC 10646:2011 ≈ Unicode 6.0
  • ISO/IEC 10646:2012 ≈ Unicode 6.1/6.2/6.3
    • plus ISO/IEC 10646:2012/Amd 1:2013 und ISO/IEC 10646:2012/Amd 1 ≈ Unicode 7.0
  • ISO/IEC 10646:2014 und ISO/IEC 10646:2014/Amd 1:2015 ≈ Unicode 8.0
    • plus ISO/IEC 10646:2014/Amd 2:2016 ≈ Unicode 9.0
  • ISO/IEC 10646:2017 ≈ Unicode 10.0

Einzelnachweise

  1. 1 2 The Unicode® Standard Version 10.0 – Core Specification: Appendix C Relationship to ISO/IEC 10646. The Unicode Consortium, S. 907–908, abgerufen am 12. April 2018 (englisch).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.