Czym jest Unicode?
Unicode to uniwersalny standard informatyczny zapewniający spójne kodowanie, reprezentowanie i obsługę tekstu w większości systemów pisma na świecie. W branży domen Unicode umożliwia tworzenie umiędzynarodowionych nazw domen (IDN) zawierających znaki spoza alfabetu łacińskiego, takie jak znaki chińskie, arabskie i cyrylica. Unicode przypisuje każdemu znakowi we wszystkich językach unikalny punkt kodowy, zapewniając spójną reprezentację w różnych systemach.Unicode w nazwach domen
Obsługa IDN
Unicode umożliwia domeny takie jak:
- 例え.jp (japońska)
- مثال.مصر (arabska)
- пример.рф (rosyjska cyrylica)
- 例子.中国 (chińska)
Konwersja Punycode
DNS używa ASCII, dlatego domeny Unicode są konwertowane do Punycode:
Unicode: münchen.de
Punycode: xn--mnchen-3ya.de
Unicode: 北京.中国
Punycode: xn--1lq90i.xn--fiqs8s
Punkty kodowe Unicode
Struktura
Format: U+XXXX (hexadecimal)
Examples:
A = U+0041 (Latin A)
а = U+0430 (Cyrillic a)
中 = U+4E2D (Chinese character)
Bloki znaków
| Blok | Zakres | Pismo |
|---|---|---|
| Basic Latin | U+0000-007F | English/ASCII |
| Cyrillic | U+0400-04FF | Russian, etc. |
| Arabic | U+0600-06FF | Arabic |
| CJK | U+4E00-9FFF | Chinese/Japanese/Korean |
Względy bezpieczeństwa
Ataki homoglifowe
Znaki z różnych pism o podobnym wyglądzie:
Latin 'a' (U+0061) vs Cyrillic 'а' (U+0430)
Latin 'o' (U+006F) vs Cyrillic 'о' (U+043E)
Attack: аpple.com (Cyrillic 'а') looks like apple.com
Ochrona przeglądarek
Przeglądarki mogą wyświetlać Punycode dla podejrzanych domen mieszających różne pisma.
Normalizacja Unicode
Różne sposoby reprezentowania tego samego znaku:
é = U+00E9 (precomposed)
é = U+0065 + U+0301 (decomposed: e + combining accent)
Normalization forms: NFC, NFD, NFKC, NFKD
Unicode ma zasadnicze znaczenie dla globalnej dostępności Internetu, umożliwiając użytkownikom na całym świecie rejestrowanie i odwiedzanie nazw domen w rodzimych pismach i językach.