In diesem Artikel
Was sind Emojis und warum brauchen Entwickler sie?
Emojis sind kleine piktografische Zeichen, die im Unicode-Standard definiert sind. Was 1999 als Symbole japanischer Mobiltelefone begann, ist zu einer universellen visuellen Sprache mit über 3.600 Zeichen in Unicode 15.1 herangewachsen. Jedes Emoji hat einen eindeutigen Codepunkt — eine hexadezimale Kennung, die Computer verwenden, um das richtige Glyph darzustellen.
Für Entwickler sind Emojis mehr als nur Dekoration. Sie erscheinen in Commit-Nachrichten, in der Dokumentation, in UI-Beschriftungen, in Benachrichtigungen und in Chat-Anwendungen. Zu verstehen, wie Emojis kodiert werden — ihre Unicode-Codepunkte, HTML-Entities und Shortcodes —, ist entscheidend, um sie in Webanwendungen, Datenbanken und APIs korrekt zu handhaben.
So funktionieren Emoji-Codes
Jedes Emoji lässt sich in mehreren Formaten darstellen. Das Verständnis dieser Formate hilft Entwicklern, Emojis über verschiedene Plattformen und Programmiersprachen hinweg korrekt zu verwenden.
- Unicode-Codepunkt — die kanonische Kennung, geschrieben als U+1F600. Dies ist der vom Unicode-Konsortium zugewiesene Hexadezimalwert. Das grinsende Gesicht ist beispielsweise U+1F600 (dezimal 128512)
- HTML-Entity — wird im HTML-Markup verwendet: 😀 (hex) oder 😀 (dezimal). Beide stellen dasselbe Emoji in Browsern dar, ohne dass eine UTF-8-Kodierung in der Quelldatei erforderlich ist
- CSS-Code — wird in CSS-content-Eigenschaften verwendet: \1F600. Nützlich für Pseudo-Elemente wie ::before und ::after, in denen sich HTML-Entities nicht direkt platzieren lassen
- Shortcode — plattformspezifische Aliase wie :grinning:, die in Slack, Discord, GitHub und anderen Messaging-Plattformen verwendet werden. Diese sind über Plattformen hinweg nicht standardisiert
Hautton-Modifikatoren fügen eine weitere Komplexitätsebene hinzu. Fünf Modifikator-Zeichen (U+1F3FB bis U+1F3FF) können an menschliche Emojis angehängt werden, um deren Hautton zu ändern. Das Ergebnis ist ein einzelnes sichtbares Emoji, das aus zwei Unicode-Zeichen zusammengesetzt ist — dem Basis-Emoji plus dem Modifikator.
Kostenlos testen – keine Registrierung erforderlich
Emoji-Picker öffnen →Emojis in der Webentwicklung verwenden
Emojis erfordern in Webanwendungen einen sorgfältigen Umgang. Hier sind die wichtigsten Aspekte für Entwickler, die mit Emoji-Inhalten arbeiten.
- Datenbankspeicherung — stellen Sie sicher, dass Ihre Datenbank die utf8mb4-Kodierung verwendet (nicht utf8, das nur 3-Byte-Zeichen unterstützt). Die meisten Emojis benötigen 4 Byte. MySQL, PostgreSQL und MongoDB unterstützen dies alle, doch MySQL erfordert eine ausdrückliche utf8mb4-Zeichensatzkonfiguration
- String-Handhabung in JavaScript — Emojis werden in JavaScript als Surrogatpaare kodiert. Die Zeichenkette '😀'.length liefert 2 zurück, nicht 1. Verwenden Sie Array.from() oder den Spread-Operator [...str], um Zeichen korrekt zu zählen. Die Methode codePointAt() gibt den vollständigen Codepunkt zurück
- HTML-Rendering — Sie können Emoji-Zeichen direkt in UTF-8-HTML verwenden oder HTML-Entities (😀) für eine explizite Kodierung einsetzen. Meta-charset muss auf UTF-8 gesetzt sein. Manche älteren E-Mail-Clients stellen Emojis möglicherweise nicht korrekt dar, weshalb HTML-Entities für E-Mail-Vorlagen sicherer sind
Häufig gestellte Fragen
Warum sehen Emojis auf verschiedenen Plattformen unterschiedlich aus?
Unicode definiert, was jedes Emoji darstellt (z. B. U+1F600 = grinsendes Gesicht), aber jede Plattform (Apple, Google, Microsoft, Samsung) gestaltet ihre eigene visuelle Darstellung. Der Unicode-Codepunkt ist überall gleich, doch die grafische Umsetzung ist plattformspezifisch. Das bedeutet, dass dasselbe Emoji unter iOS, Android und Windows recht unterschiedlich aussehen kann.
Wie finde ich den Unicode-Codepunkt für ein Emoji?
Verwenden Sie unser Emoji-Picker-Tool — klicken Sie auf ein beliebiges Emoji, um seinen Unicode-Codepunkt (U+XXXX), seine HTML-Entity, seinen CSS-Code und seinen Shortcode zu sehen. In JavaScript können Sie außerdem '😀'.codePointAt(0).toString(16) verwenden, um den hexadezimalen Codepunkt programmatisch zu ermitteln.
Was ist der Unterschied zwischen UTF-8 und UTF-16 bei Emojis?
UTF-8 kodiert die meisten Emojis in 4 Byte, während UTF-16 Surrogatpaare verwendet (2 x 2 Byte = 4 Byte). JavaScript-Strings nutzen intern UTF-16, weshalb '😀'.length 2 zurückgibt — es zählt die beiden Codeeinheiten des Surrogatpaars, nicht den einzelnen Codepunkt. Für Speicherung und Übertragung ist UTF-8 der Standard für Webanwendungen.