Trabalhando com Unicode
Se você trabalha com programação Web, provavelmente já utilizou a codificação de caracteres Latinos (ISO-8859-1) e conhece ou já deve ter ouvido falar de Unicode. Este artigo mostra o que é Unicode, quais os benefícios e como trabalhar com ela.
O que é uma codificação de caracteres?
Codificação de caracteres nada mais é que um mecanismo para armazenar símbolos em forma binária em um computador. Normalmente este mecanismo é feito através de uma tabela de valores numéricos que representam símbolos. Então a codificação especifica como converter um símbolo em código e um código em símbolo.
A tabela ASCII é uma das mais antigas e famosas tabelas de codificação de caracteres em computação. Nesta tabela, cada símbolo é representado por um número dentro do intervalo de 0 a 127. Um número entre 0 e 127 pode ser representado na forma binária com apenas 7 bits. Como a unidade básica dos computadores modernos é o Byte, que é composto de 8 bits, então a codificação ASCII define que cada símbolo é armazenado em um byte, sendo que o primeiro bit dos 8 disponíveis é ignorado (sempre é zero). Assim, o primeiro bit pode ser usado para checar, por exemplo, a integridade de uma sequência de caracteres transmitidos. Caso o bit não vale zero, então algo provavelmente chegou errado.
Alguns exemplos de símbolos representados pela tabela ASCII são:
Ela engloba alguns símbolos matemáticos básicos, alguns símbolos gerais, alguns caracteres de controle, números, letras maiúsculas e minúsculas. Note que o símbolo "1" não é representado pelo inteiro 1 (binário 00000001), mas pelo 49.
A codificação ASCII é muito útil para a lingua inglesa, que não acentua palavras. Para a realidade brasileira, ASCII não é muito amigável. A codificação Latin-1 (ISO-8859-1) é uma codificação parecida com a ASCII, mas define apenas caracteres imprimíveis, logo, é uma codificação com foco nas pessoas e não nos computadores. Como a tabela possui apenas 191 símbolos, também pode ser representada com um Byte, já que um Byte pode armazenar o valor inteiro de 0 a 255 (binário de 00000000 a 11111111). Alguns exemplos de símbolos da codificação ISO-8859-1 são:
Note que a maioria dos símbolos da tabela ASCII são preservados na tabela ISO-8859-1, porém, a tabela ISO-8859-1 tem novos símbolos.
O que é uma codificação de caracteres?
Codificação de caracteres nada mais é que um mecanismo para armazenar símbolos em forma binária em um computador. Normalmente este mecanismo é feito através de uma tabela de valores numéricos que representam símbolos. Então a codificação especifica como converter um símbolo em código e um código em símbolo.
A tabela ASCII é uma das mais antigas e famosas tabelas de codificação de caracteres em computação. Nesta tabela, cada símbolo é representado por um número dentro do intervalo de 0 a 127. Um número entre 0 e 127 pode ser representado na forma binária com apenas 7 bits. Como a unidade básica dos computadores modernos é o Byte, que é composto de 8 bits, então a codificação ASCII define que cada símbolo é armazenado em um byte, sendo que o primeiro bit dos 8 disponíveis é ignorado (sempre é zero). Assim, o primeiro bit pode ser usado para checar, por exemplo, a integridade de uma sequência de caracteres transmitidos. Caso o bit não vale zero, então algo provavelmente chegou errado.
Alguns exemplos de símbolos representados pela tabela ASCII são:
Int | Binário | Símbolo ... | ... | 40 | 00101000 | ( 41 | 00101001 | ) 42 | 00101010 | * 43 | 00101011 | + ... | ... | 48 | 00110000 | 0 49 | 00110001 | 1 50 | 00110010 | 2 ... | ... | 65 | 01000001 | A 66 | 01000010 | B ... | ... | 97 | 01100000 | a 98 | 01100001 | b ... | ... |
Ela engloba alguns símbolos matemáticos básicos, alguns símbolos gerais, alguns caracteres de controle, números, letras maiúsculas e minúsculas. Note que o símbolo "1" não é representado pelo inteiro 1 (binário 00000001), mas pelo 49.
A codificação ASCII é muito útil para a lingua inglesa, que não acentua palavras. Para a realidade brasileira, ASCII não é muito amigável. A codificação Latin-1 (ISO-8859-1) é uma codificação parecida com a ASCII, mas define apenas caracteres imprimíveis, logo, é uma codificação com foco nas pessoas e não nos computadores. Como a tabela possui apenas 191 símbolos, também pode ser representada com um Byte, já que um Byte pode armazenar o valor inteiro de 0 a 255 (binário de 00000000 a 11111111). Alguns exemplos de símbolos da codificação ISO-8859-1 são:
Int | Bin | Símbolo ... | ... | 40 | 00101000 | ( 41 | 00101001 | ) 42 | 00101010 | * 43 | 00101011 | + ... | ... | 48 | 00110000 | 0 49 | 00110001 | 1 50 | 00110010 | 2 ... | ... | 65 | 01000001 | A 66 | 01000010 | B ... | ... | 97 | 01100000 | a 98 | 01100001 | b ... | ... | 231 | 11100111 | ç 232 | 11101000 | è 233 | 11101001 | é ... | ... |
Note que a maioria dos símbolos da tabela ASCII são preservados na tabela ISO-8859-1, porém, a tabela ISO-8859-1 tem novos símbolos.
ficou legalzinho
03/05/2010 1:01pm
(~14 anos atrás)
Sobre array já existe um artigo antigo:
http://phpbrasil.com/artigo/hY3cOW1zZuTt/arrays--parte-1
http://phpbrasil.com/artigo/5opX9LWqLIi/arrays--parte-2
http://phpbrasil.com/artigo/hY3cOW1zZuTt/arrays--parte-1
http://phpbrasil.com/artigo/5opX9LWqLIi/arrays--parte-2
17/03/2010 9:36pm
(~14 anos atrás)
Artigo explicado de forma bem "entendível", gostei muito.
Sugiro um deste tipo falando de array, seria legal.
Sugiro um deste tipo falando de array, seria legal.
17/03/2010 1:30pm
(~14 anos atrás)
Ótimo artigo!!!
Você explicou muito bem desde a base até ao topo, fazendo-o ficar fácil de compreender!!!
Parabéns!!!
Você explicou muito bem desde a base até ao topo, fazendo-o ficar fácil de compreender!!!
Parabéns!!!
13/03/2010 7:13pm
(~14 anos atrás)