Na ciência da computação , um personagem é tanto um tipo de dado quanto uma noção abstrata . Como na tipografia , um caractere de computador pode representar uma letra minúscula , uma letra maiúscula , um número , um sinal de pontuação ; mas também um espaço , uma tabulação, uma nova linha e algumas outras operações especiais (tocar, apagar, etc.) que não representam símbolos ( caracteres de controle ).
Na ciência da computação, a noção de personagem é uma noção que, em princípio, associa um número a um glifo , de modo a dissociar a representação física do personagem de seu significado.
Embora o personagem já exista há cerca de dois milênios, sua representação abstrata em forma digital é mais recente. Foi especialmente desenvolvido para o telégrafo . Esta abstração permite melhorar a eficiência das comunicações. O surgimento da codificação unificada, no entanto, esbarrou nas diferenças convencionais e culturais na abordagem do conceito de personagem.
Como os computadores funcionam em binário , um número é atribuído a cada caractere. Este número pode ser codificado com dígitos binários ( bits ).
No final da XX th século, 8 bits de (isto é, um byte ) foram bastante usual e deixou-se representar 256 números, de modo que 256 caracteres diferentes. Este primeiro limite de 256 números levou aos padrões de codificação de caracteres.
Existem vários padrões de codificação de caracteres, incluindo, entre os mais conhecidos, ASCII , ISO / IEC 8859 e Unicode . Os padrões diferem no conjunto de caracteres abrangidos, no código atribuído a cada caractere e na representação binária do código. Assim, o caractere € que não existe em ASCII tem o número 164 na ISO 8859 e o número 8364 no Unicode. 7 bits são suficientes para codificar todos os caracteres do padrão ASCII, mas 8 (1 byte ) são necessários para ISO 8859 e mais de 16 (2 bytes) para Unicode. Existem várias representações binárias diferentes de Unicode, incluindo UTF-8 e UTF-16 ; portanto, são necessários 3 bytes para codificar os 8364 de € em UTF-8, contra 2 bytes em UTF-16.
Os diferentes números atribuídos não apenas identificam os caracteres de certos alfabetos, mas também as variações relacionadas a acentos, números, certos símbolos, bem como caracteres não imprimíveis, como espaços, tabulações e novas linhas.
Uma série de caracteres de computador representa texto simples , com espaços e novas linhas, mas sem formatação mais elaborada, como escolha de fontes , tamanhos ou cores de texto, etc. Os caracteres especiais (como o asterisco e oe comercial ) eram usados principalmente como códigos de controle por hardware de computador anterior a 1990 ( terminais e impressoras ) que funcionava apenas no modo de texto . Os caracteres de escape permitiam que várias codificações fossem combinadas e eram o princípio básico da ISO / IEC 2022 .
O padrão Unicode diferencia entre caracteres abstratos e caracteres codificados que são associados a códigos numéricos para facilitar sua representação no computador.
Exibir um caractere em um monitor de computador ou imprimi-lo com uma impressora requer dados que especificam o desenho exato do caractere, o glifo . O arquivo de caractere digital que contém a lista de códigos referentes a glifos é uma fonte de caractere .
Muito frequentemente, os computadores processam palavras, frases, parágrafos inteiros. Existe um tipo de dado para representar uma sequência de caracteres, é a cadeia de caracteres .
Na verdade, a unidade de código (unidade de 8, 16 ou 32 bits) que codifica uma parte do próprio caractere e o próprio caractere costuma ser confundida . Essa confusão vem da influência do padrão ASCII e dos falantes de inglês que confundiram o caractere e o byte.
No caso do Unicode, cada caractere possui propriedades definidas pelo padrão Unicode. Essas propriedades são pesquisáveis com bibliotecas de software, o que permite que o software trate cada classe de caractere de maneiras apropriadas, por exemplo, ao exibir ou classificar dados, o que pode precisar levar em consideração a direção da escrita ou a dependência do caso da ordem lexicográfica.