O que é Unicode?
Unicode é um padrão universal de computação para codificação consistente, representação e manipulação de texto na maioria dos sistemas de escrita do mundo. Na indústria de domínios, Unicode habilita Nomes de Domínio Internacionalizados (IDNs) contendo caracteres não-latinos como chinês, árabe, cirílico e outros scripts. O Unicode atribui um ponto de código único a cada caractere em todos os idiomas, garantindo representação consistente entre diferentes sistemas.Unicode em Nomes de Domínio
Suporte IDN
O Unicode permite domínios como:
- 例え.jp (Japonês)
- مثال.مصر (Árabe)
- пример.рф (Cirílico Russo)
- 例子.中国 (Chinês)
Conversão de Punycode
DNS usa ASCII, então domínios Unicode convertem para Punycode:
Unicode: münchen.de
Punycode: xn--mnchen-3ya.de
Unicode: 北京.中国
Punycode: xn--1lq90i.xn--fiqs8s
Pontos de Código Unicode
Estrutura
Formato: U+XXXX (hexadecimal)
Exemplos:
A = U+0041 (A Latino)
а = U+0430 (a Cirílico)
中 = U+4E2D (caractere chinês)
Blocos de Caracteres
| Bloco | Intervalo | Script |
|---|---|---|
| Latin Básico | U+0000-007F | Inglês/ASCII |
| Cirílico | U+0400-04FF | Russo, etc. |
| Árabe | U+0600-06FF | Árabe |
| CJK | U+4E00-9FFF | Chinês/Japonês/Coreano |
Preocupações de Segurança
Ataques de Homoglifo
Caracteres com aparência similar de scripts diferentes:
A latino 'a' (U+0061) vs Cirílico 'а' (U+0430)
A latino 'o' (U+006F) vs Cirílico 'о' (U+043E)
Ataque: аpple.com (Cirílico 'а') parece apple.com
Proteções de Navegador
Os navegadores podem exibir Punycode para domínios suspeitos com script misto.
Normalização Unicode
Diferentes formas de representar o mesmo caractere:
é = U+00E9 (pré-composto)
é = U+0065 + U+0301 (decomposto: e + acento combinado)
Formas de normalização: NFC, NFD, NFKC, NFKD
O Unicode é fundamental para acessibilidade global da internet, permitindo que usuários em todo o mundo registrem e acessem nomes de domínio em seus scripts e idiomas nativos.