Unicode ist ein internationaler Standard, der die konsistente Kodierung, Darstellung und Verarbeitung von Text in den meisten Schriftsystemen der Welt ermöglicht. Bevor Unicode existierte, gab es eine Vielzahl unterschiedlicher Zeichensätze, wie ASCII oder ISO 8859-x Varianten, die jeweils nur einen begrenzten Umfang an Zeichen abbilden konnten. Dies führte zu erheblichen Kompatibilitätsproblemen und der Unfähigkeit, Texte in verschiedenen Sprachen und Skripten gleichzeitig korrekt darzustellen. Unicode wurde geschaffen, um diese Fragmentierung zu überwinden und einen universellen Zeichensatz zu etablieren, der jedem Zeichen in jedem Schriftsystem eine eindeutige Nummer zuweist, unabhängig von der Plattform, dem Programm oder der Sprache.
Das Kernkonzept von Unicode ist der sogenannte 'Code Point'. Jeder Code Point ist eine eindeutige Zahl, die einem bestimmten Zeichen zugewiesen wird, beispielsweise dem Buchstaben 'A', dem chinesischen Zeichen '中' oder einem Emoji wie '😀'. Diese Code Points werden oft in der Form 'U+XXXX' dargestellt, wobei XXXX die hexadezimale Darstellung der Nummer ist. Unicode definiert über 140.000 solcher Zeichen, die nicht nur Buchstaben, Ziffern und Satzzeichen umfassen, sondern auch Symbole, mathematische Operatoren und Zeichen aus historischen oder seltenen Schriftsystemen. Die reine Definition der Code Points ist jedoch noch keine Kodierung; dafür werden sogenannte 'Kodierungsformen' benötigt, die festlegen, wie diese Code Points als Bytes in Computerspeichern oder bei der Übertragung repräsentiert werden.
Die am weitesten verbreitete Kodierungsform ist UTF-8 (Unicode Transformation Format – 8-bit). UTF-8 ist eine variable Breitenkodierung, was bedeutet, dass Zeichen je nach ihrer Position im Unicode-Bereich mit ein bis vier Bytes dargestellt werden. Ein großer Vorteil von UTF-8 ist seine Abwärtskompatibilität mit ASCII: Die ersten 128 Unicode-Zeichen (die den ASCII-Zeichen entsprechen) werden in UTF-8 mit einem einzigen Byte kodiert, genau wie in ASCII. Dies macht UTF-8 extrem effizient für englischsprachige Texte und sehr flexibel für mehrsprachige Inhalte. Aufgrund seiner Effizienz und Kompatibilität ist UTF-8 der dominierende Zeichensatz im Internet und wird von den meisten modernen Betriebssystemen und Anwendungen unterstützt.
Eine weitere wichtige Kodierungsform ist UTF-16 (Unicode Transformation Format – 16-bit). UTF-16 kodiert die meisten Zeichen im 'Basic Multilingual Plane' (BMP), dem ersten und am häufigsten genutzten Block von Unicode-Zeichen, mit zwei Bytes. Zeichen außerhalb des BMP, sogenannte 'Surrogate Pairs', werden mit vier Bytes kodiert. UTF-16 war lange Zeit die Standardkodierung in Systemen wie Microsoft Windows und in Programmiersprachen wie Java, da es einen guten Kompromiss zwischen Speicherplatz und Zugriffsgeschwindigkeit bot, insbesondere für Sprachen mit vielen Zeichen im BMP wie Chinesisch, Japanisch und Koreanisch.
Schließlich gibt es noch UTF-32 (Unicode Transformation Format – 32-bit), die einfachste und speicherintensivste Kodierungsform. Jedes Unicode-Zeichen, unabhängig von seinem Code Point, wird in UTF-32 immer mit vier Bytes dargestellt. Dies hat den Vorteil, dass der Zugriff auf einzelne Zeichen sehr schnell ist, da ihre Länge immer bekannt ist und keine variablen Längenberechnungen notwendig sind. Allerdings führt dies auch zu einem deutlich höheren Speicherverbrauch im Vergleich zu UTF-8 oder UTF-16, insbesondere bei Texten, die hauptsächlich aus Zeichen im unteren Unicode-Bereich bestehen. Aus diesem Grund wird UTF-32 seltener für die Speicherung oder Übertragung von Text verwendet, findet aber manchmal Anwendung in internen Systemen, wo schnelle Zeichenzugriffe Priorität haben.
Die Einführung von Unicode war ein entscheidender Schritt zur Globalisierung der digitalen Kommunikation. Es ermöglicht Softwareentwicklern, Anwendungen zu erstellen, die weltweit funktionieren, ohne sich um die Kompatibilität verschiedener Zeichensätze kümmern zu müssen. Von E-Mails über Webseiten bis hin zu Datenbanken – Unicode gewährleistet, dass Texte in beliebigen Sprachen korrekt angezeigt, gesucht und verarbeitet werden können. Dies hat die Tür für eine wirklich globale Informationsgesellschaft geöffnet, in der sprachliche Barrieren auf digitaler Ebene minimiert werden.
Der Unicode-Standard wird vom Unicode Consortium gepflegt und weiterentwickelt, einer Non-Profit-Organisation, die sich aus Vertretern von Technologieunternehmen, Softwareherstellern, Regierungen und Forschungseinrichtungen zusammensetzt. Regelmäßig werden neue Versionen des Standards veröffentlicht, die zusätzliche Zeichen, Skripte und Emojis hinzufügen. Die kontinuierliche Erweiterung von Unicode stellt sicher, dass der Standard mit der Entwicklung neuer Kommunikationsformen und der zunehmenden sprachlichen Vielfalt im digitalen Raum Schritt hält, von antiken Hieroglyphen bis zu modernen Symbolen wie den beliebten Emojis, die ohne Unicode nicht universell darstellbar wären.