Representação de caracteres
A representação de caracteres num sistema informático passa, também, por uma codificação em binário.
Ao falar-se aqui em caracteres, estamos a ter em conta todas as letras do alfabeto (maiúsculas e minúsculas), os dez dígitos decimais (0,1, …,9), sinais de pontuação e diversos outros.
A principal tabela que codifica os caracteres usados nos computadores é a tabela ASCII (“American Standard Code for Information Interchange”).
As versões actuais desta tabela utilizam agrupamentos de 8 bits para a codificação dos caracteres; portanto, é possível codificar 256 caracteres diferentes.
Podemos considerar duas metades no conjunto dos 256 caracteres da tabela ASCII:
- A primeira metade, que contém os primeiros 128 caracteres, é igual em todas as versões;
- A segunda metade, os últimos 128 caracteres, pode apresentar diferentes versões, consoante os países a que se destina (engloba caracteres acentuados e outros).
Por exemplos:
- O carácter da tabela ASCII com o número de ordem 50 (decimal) – equivalente ao binário 00110010 – representa o algarismo 2;
- O carácter com a posição 65 na tabela – binário 01000001 – representa a letra A.
Os primeiros 32 caracteres da mesma tabela ASCII não representam letras, nem algarismos, nem outros grafismos, mas determinados caracteres de controlo. Por exemplo: o carácter com o número de ordem 13 representa a tecla “Enter”.
Representação de caracteres
ResponderEliminarA última representação de símbolos do universo que vivemos para computador abordada neste texto é a de representação de caracteres. Uma ótima referência para este tema é [Spo03].
O problema aqui é como representar símbolos como letras e dígitos para que a interação dos seres humanos com o computador seja mais natural.
Assim como os demais problemas de representação citados anteriormente, este problema teve várias propostas para resolução. A idéia básica é fazer com que cada caractere seja representado por um padrão binário diferente. É natural fazer uma escolha onde o padrão binário tenha sempre o mesmo número de bits, por exemplo oito bits. Se este padrão for adotado, há um total de representações diferentes. Com isso, é possível representar 256 símbolos diferentes.
A primeira ``tabela de conversão'' conhecida era chamada de EBCDIC, criada pela IBM na década de 60, porém atualmente ela só tem valor histórico.
Uma outra tabela de conversão, chamada tabela ASCII, foi proposta em 1961 e se tornou praticamente um padrão mundial. Esta tabela é apresentada na seção 4.1. A tabela ASCII é perfeita para a língua inglesa, mas não contém símbolos para, por exemplo os caracteres acentuados das línguas latinas, caracteres russos, chineses, entre outros. O Unicode (seção 4.2) surgiu para contemplar estes caracteres. Cada caractere em Unicode é representado em 16 bits, e uma versão mais ``econômica'' de oito bits surgiu a partir do Unicode, chamada UTF-8 que será analisada na seção 4.3.
REPRESENTAÇÃO DE CARACTERES E SÍMBOLOS
ResponderEliminarA representação de caracteres e símbolos em computador é feita atribuindo-se a cada caractere ou símbolo um código binário. Desta forma são construídas tabelas (padrões) em que cada código binário representa para o computador um determinado caractere ou símbolo.
Cada computador (ou cada fabricante) adota um determinado padrão. O número de bits que será utilizado no padrão é uma decisão do fabricante e determinará quantos caracteres (e símbolos) poderão ser representados.
Nota: Se um padrão utiliza 7 bits, será possível representar até 27 = 128 caracteres e símbolos e com 8 bits serão 28 = 256.
O principal padrão hoje utilizado é o ASCII, de 7 bits, com uma variação de 8 bits (ASCII extendido) em que o 8º bit permite representar outros 128 símbolos.
Nota 1: Nos computadores PC, devido às diferenças lingüísticas, com a necessidade de representar caracteres diferentes para para dar suporte a outras línguas que não o inglês, foram criadas diversas "páginas de código". Por exemplo, a página de código 437 refere-se aos Estados Unidos, a 850 é a Multilingüe (Latin I), a 860 para Português (incluindo caracteres que não existem no inglês, tais como ç e os acentos).
Nota 2: ASCII é um acrônimo para American Standard Code for Information Interchange (ou Código Padrão Americano para Intercâmbio de Informações).
A seguir, apresentamos alguns exemplos de códigos da tabela ASCII:
Decimal Binário Caractere
48 a 57 0011.0000 a 0011.1001 de 0 até 9 (algarismos)
65 a 90 0100.0001 a 0101.1010 de A até Z (maiúsculas)
97 a 122 0110.0001 a 0111.1010 de a até z (minúsculas)
36 0010.0100 $
42 0010.1010 *
43 0010.1011 +
63 0011.1111 ?
64 0100.0000 @
128 1000.0000 Ç
135 1000.0111 ç
132 1000.0100 ã
142 1000.1110 Ã
172 1010.1100 ¼
167 1010.0111 º
166 1010.0110 ª
225 1110.0001 ß
241 1111.0001 ±
Nota: Até 127, os códigos pertencem à tabela ASCII padrão, enquanto os códigos entre 128 e 255 fazem parte do ASCII extendida, podendo variar o caractere ou símbolo representado conforme a página de código configurada.
Outros padrões foram e ainda são usados, por exemplo o EBCDIC (Extended Binary Coded Decimal Interchange Code, de 8 bits, usados nos computadores de grande porte IBM).