+5

Trabalhando com Unicode

criado por Rubens Takiguti Ribeiro em 02/12/2009 9:28pm
O que é Unicode?

Unicode é uma tabela de símbolos mapeados com propósito universal. O objetivo da tabela Unicode é mapear todos os tipos de símbolos, especialmente aqueles usados nos sistemas de escrita no mundo atualmente. Além deles, também existem símbolos matemáticos, formas geométricas, etc. Unicode possui mais de 100 mil símbolos mapeados.

Você deve estar se perguntando agora: se um byte consegue armazenar apenas 256 valores diferentes, como é que a tabela Unicode consegue mapear cada símbolo em um código binário próprio?

A resposta é simples: uma codificação não precisa necessariamente usar um byte para representar um símbolo e vise-versa. É aí que entra o algoritimo de codificação e decodificação, como o UTF-8, UTF-16, UTF-32, UCS, UCS-2, UCS-4, etc.

Vamos deixar claro as partes tomando como exemplo a tabela ASCII. A tabela ASCII define símbolos e códigos correspondentes. A codificação ASCII define que a forma como o símbolo será convertido em código é através da utilização de 8 bits, sendo o primeiro sempre zero. Poderiamos, portanto, criar uma codificação alternativa chamada ASCII-2 onde a forma de converter um símbolo em código seria através da utilização de 8 bits, mas sendo o último bit sendo sempre 1 e utilizando os demais bits para armazenar o valor binário do código numérico do símbolo.

Então, Unicode é uma tabela que define o número (ou codepoint) que representa cada símbolo. Por exemplo:

Int  | Símbolo
...  | ...
48   | 0
49   | 1
50   | 2
...  |
65   | A
66   | B
...  |
97   | a
98   | b
...  |
231  | ç
...  |
8592 | ← (seta para esquerda)

No link a seguir, terá um conjunto de símbolos e seus respectivos códigos Unicode:
http://www.unicodetables.com/

Note que os símbolos da tabela ASCII são preservados na tabela Unicode. O "ç", também é semelhante ao da tabela ISO-8859-1. Mas possui símbolos como a seta a esquerda, cujo código é 8592.

Comentários:

Mostrando 1 - 6 de 6 comentários
PazNatan disse:
ficou legalzinho
03/05/2010 1:01pm (~10 anos atrás)

Nelson disse:
Artigo explicado de forma bem "entendível", gostei muito.
Sugiro um deste tipo falando de array, seria legal.
17/03/2010 1:30pm (~10 anos atrás)

Ótimo artigo!!!
Você explicou muito bem desde a base até ao topo, fazendo-o ficar fácil de compreender!!!
Parabéns!!!
13/03/2010 7:13pm (~10 anos atrás)

Daniel Silva disse:
Uau! Magnífico o artigo! Muito elucidativo! Meus parabéns!
06/01/2010 1:10am (~10 anos atrás)

Marcos Regis disse:
Ótimo artigo. Parabéns.
05/12/2009 4:13pm (~11 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)