Jeder Entwickler kennt Unicode, aber was steckt eigentlich dahinter? Was sind Encodings und wie funktioniert das Ganze im Detail? In diesem Artikel erfährst du alles, was du über Unicode wissen solltest.
Die Grundlagen der Computertechnik
Computer arbeiten bekanntlich mit Nullen und Einsen, den sogenannten Bits. Acht Bits werden zu einem Byte zusammengefasst, das 256 verschiedene Werte repräsentieren kann. Ein Byte ist ideal, um Zeichen wie Buchstaben, Zahlen und Sonderzeichen zu speichern.
Um den Austausch von Daten zwischen verschiedenen Computern zu ermöglichen, benötigt man jedoch einen Standard, der jedem Zeichen einen Zahlencode zuordnet. Hier kommt ASCII ins Spiel. Der ASCII-Code verwendet sieben Bits und kann somit 128 Zeichen abbilden. Die ersten 32 Zeichen sind Steuerzeichen, während die restlichen 96 Zeichen Buchstaben, Zahlen und Satzzeichen darstellen.
Grenzen des ASCII-Codes
ASCII ist ausreichend, solange man sich im englischen Sprachraum bewegt. Doch was ist mit anderen Sprachen und speziellen Zeichen wie den Umlauten im Deutschen? Hierfür wurde das achte Bit verwendet, was den Zeichenvorrat von 128 auf 256 erweiterte und Platz für sprachspezifische Zeichen bot.
Jedoch mussten für jede Sprache eigene Abbildungen entwickelt werden, was zu verschiedenen Codepages führte. Diese Codepages enthielten jeweils individuelle Zeichenabbildungen für bestimmte Sprachen. Für Deutsch gilt beispielsweise die Codepage 437, für Griechisch die Codepage 737.
Die Geburt von Unicode
Um das Chaos der Codepages zu beenden, wurde Unicode entwickelt. Die Idee dabei war, ein Zeichen von seiner visuellen Darstellung zu trennen. Ein Zeichen wie “A” bleibt also ein “A”, unabhängig von der Schriftart oder -stärke.
Zudem definiert Unicode, was überhaupt als Zeichen gilt. Dies ist in vielen Sprachen nicht so eindeutig. Das Unicode-Konsortium hat jedem Zeichen einen sogenannten Codepoint zugewiesen. Unicode unterstützt über eine Million Zeichen, was weit mehr als die mit zwei Bytes darstellbaren 65.536 Möglichkeiten sind.
Encodings in Unicode
Um eine Zeichenkette abzubilden, gibt es verschiedene Möglichkeiten, Encodings zu verwenden. Eine einfache Option besteht darin, jedes Zeichen durch zwei hexadezimale Ziffern als ein Byte zu repräsentieren. Eine andere Möglichkeit ist UTF-8, ein Standard, der Zeichen durch eine variable Anzahl von Bytes darstellt.
UTF-8 ist platzsparender und kompatibel zu ASCII. Es gibt jedoch auch noch andere Encodings wie UTF-7 und UCS-4.
Die Bedeutung von Unicode im Alltag
Unicode ist die Grundlage für den Datenaustausch in der globalen Welt. Es ermöglicht die problemlose Darstellung, den Druck und die Verarbeitung von Webseiten und Dokumenten in verschiedenen Sprachen.
Es ist wichtig, das passende Encoding anzugeben, um Dokumente korrekt anzeigen oder drucken zu können. Auch bei der Entwicklung von Software ist die Angabe des Encodings entscheidend, um Text korrekt zu verarbeiten.
Unicode ist also nicht nur für Entwickler, sondern für jeden Anwender wichtig, der mit verschiedenen Sprachen arbeitet.
Fazit: Beschäftige dich mit Unicode, um im Zeitalter der globalen Kommunikation gewappnet zu sein. Sonst wird es spätestens im nächsten Projekt schwierig, wenn Dokumente in verschiedenen Sprachen verarbeitet werden müssen.