Unicode
Unicode ist ein internationaler Standard für die Kodierung, Darstellung und Handhabung von Text, der auf den meisten modernen Computerplattformen und -systemen verwendet wird. Das primäre Ziel von Unicode ist es, jeden Buchstaben, jede Ziffer oder jedes andere Zeichen in jeder Sprache so zu repräsentieren, dass es auf allen modernen Computern gleich dargestellt wird.
Bei Domains bezieht sich Unicode auf Internationalisierte Domainnamen (IDNs). Traditionell waren Domainnamen auf ASCII-Zeichen (amerikanischer Standardcode für Informationsaustausch) beschränkt, was bedeutet, dass sie nur die Zeichen A-Z, 0-9 und Bindestrich enthalten konnten. Für viele Sprachen und Kulturen ist dies jedoch nicht ausreichend, da sie Zeichen verwenden, die nicht im ASCII-Standard enthalten sind.
IDNs ermöglichen die Registrierung von Domainnamen in nicht-lateinischen Schriftsystemen oder mit speziellen Zeichen (wie Umlauten in der deutschen Sprache). Diese Domainnamen werden intern in einem Format namens Punycode gespeichert, das nur ASCII-Zeichen verwendet. Dies ist notwendig, da das Domain Name System (DNS) ursprünglich nur für ASCII entwickelt wurde.
Zum Beispiel könnte der Domainname „bücher.de“ in Punycode als „xn--bcher-kva.de“ dargestellt werden. Wenn man diesen Punycode-Domainnamen in einen Webbrowser eingibt, wird er in der Regel in der ursprünglichen Unicode-Darstellung („bücher.de“) angezeigt.
Die Einführung von IDNs war ein wichtiger Schritt zur Globalisierung des Internets, da sie es Menschen auf der ganzen Welt ermöglicht, Domainnamen in ihrer eigenen Sprache und Schrift zu verwenden. Es gibt jedoch auch einige technische und sicherheitsrelevante Herausforderungen bei der Verwendung von IDNs, einschließlich der Möglichkeit von Phishing-Angriffen durch Verwendung ähnlich aussehender Zeichen aus verschiedenen Schriftsystemen.