Referência HTML Unicode (UTF-8)


O Consórcio Unicode

O Unicode Consortium desenvolve o padrão Unicode. Seu objetivo é substituir os conjuntos de caracteres existentes por seu formato de transformação Unicode (UTF) padrão.

O padrão Unicode tornou-se um sucesso e é implementado em HTML, XML, Java, JavaScript, E-mail, ASP, PHP, etc. O padrão Unicode também é suportado em muitos sistemas operacionais e em todos os navegadores modernos.

O Unicode Consortium coopera com as principais organizações de desenvolvimento de padrões, como ISO, W3C e ECMA.


Os conjuntos de caracteres Unicode

O Unicode pode ser implementado por diferentes conjuntos de caracteres. As codificações mais usadas são UTF-8 e UTF-16:

Character-set Description
UTF-8 A character in UTF8 can be from 1 to 4 bytes long. UTF-8 can represent any character in the Unicode standard. UTF-8 is backwards compatible with ASCII. UTF-8 is the preferred encoding for e-mail and web pages
UTF-16 16-bit Unicode Transformation Format is a variable-length character encoding for Unicode, capable of encoding the entire Unicode repertoire. UTF-16 is used in major operating systems and environments, like Microsoft Windows, Java and .NET.

Dica: Os primeiros 128 caracteres de Unicode (que correspondem um a um com ASCII) são codificados usando um único octeto com o mesmo valor binário que ASCII, tornando o texto ASCII válido também em Unicode codificado em UTF-8.

HTML 4 suporta UTF-8. HTML 5 suporta UTF-8 e UTF-16!


O padrão HTML5: Unicode UTF-8

Como os conjuntos de caracteres na ISO-8859 eram limitados em tamanho e não eram compatíveis em ambientes multilíngues, o Unicode Consortium desenvolveu o Unicode Standard.

O Padrão Unicode abrange (quase) todos os caracteres, pontuações e símbolos do mundo.

O Unicode permite o processamento, armazenamento e transporte de texto independente da plataforma e do idioma.

A codificação de caracteres padrão em HTML-5 é UTF-8.

Se uma página da Web HTML5 usa um conjunto de caracteres diferente do UTF-8, ele deve ser especificado na tag <meta> como:

Exemplo

<meta charset="ISO-8859-1">


A diferença entre Unicode e UTF-8

Unicode é um conjunto de caracteres . UTF-8 está codificando .

Unicode é uma lista de caracteres com números decimais exclusivos (pontos de código). A = 65, B = 66, C = 67, ....

Esta lista de números decimais representa a string "hello": 104 101 108 108 111

A codificação é como esses números são traduzidos em números binários para serem armazenados em um computador:

A codificação UTF-8 armazenará "hello" assim (binário): 01101000 01100101 01101100 01101100 01101111

A codificação traduz os números em binário. Os conjuntos de caracteres convertem caracteres em números.


Códigos de caracteres HTML5 UTF-8

Abaixo está uma lista de alguns dos códigos de caracteres UTF-8 suportados pelo HTML5:

Character codes Decimal Hexadecimal
C0 Controls and Basic Latin 0-127 0000-007F
C1 Controls and Latin-1 Supplement 128-255 0080-00FF
Latin Extended-A 256-383 0100-017F
Latin Extended-B 384-591 0180-024F
Spacing Modifiers 688-767 02B0-02FF
Diacritical Marks 768-879 0300-036F
Greek and Coptic 880-1023 0370-03FF
Cyrillic Basic 1024-1279 0400-04FF
Cyrillic Supplement 1280-1327 0500-052F
General Punctuation 8192-8303 2000-206F
Currency Symbols 8352-8399 20A0-20CF
Letterlike Symbols 8448-8527 2100-214F
Arrows 8592-8703 2190-21FF
Mathematical Operators 8704-8959 2200-22FF
Box Drawings 9472-9599 2500-257F
Block Elements 9600-9631 2580-259F
Geometric Shapes 9632-9727 25A0-25FF
Miscellaneous Symbols 9728-9983 2600-26FF
Dingbats 9984-10175 2700-27BF