Sítio do Piropo

B. Piropo

< Diversos >
Volte
17/09/2001

< Porque Userids não >
< aceitam acentos?
>


P: Por que os caracteres acentuados (ç, ã, é, etc.) não são aceitos nos nomes de usuário?

Henrique Pimentel

R: Computadores não “entendem” o que é um caractere, eles somente “sabem” o que é um número. Para que possam trabalhar com caracteres, é preciso usar um código de tal maneira que cada caractere corresponda a um número expresso em binário, ou seja, no sistema numérico posicional de base dois usado internamente pelos computadores. O conjunto dos caracteres e dos números correspondentes forma uma “tabela de caracteres”. Há diversas dessas tabelas (inclusive a EBCDIC, Extended Binary Coded Decimal Interchange Code, desenvolvida pela IBM nos anos sessenta para uso em seus computadores de grande porte), mas a de uso mais universal é a chamada Tabela ASCII (American Standard Code for Information Interchange, ou Código Padrão Americano para Intercâmbio de Informações), considerada padrão para uso em microcomputadores. O problema é que essa tabela codifica os caracteres em números de sete bits (ou seja, de sete algarismos binários), e com sete bits pode-se exprimir apenas 128 números (que, expressos em decimal, vão de zero até 127). Esse conjunto comporta apenas as letras do alfabeto (maiúsculas e minúsculas), os algarismos de zero a nove, os sinais gráficos e alguns códigos de controle, mas não os caracteres acentuados. Para acomodá-los foi criada a “Tabela ASCII Estendida”, que usa números binários de oito bits (ou um byte) e abrange 128 caracteres adicionais (ainda assim não foi possível acomodar todos os caracteres acentuados de todos os idiomas, o que resultou na criação de diversos subconjuntos de tabelas ASCII estendidas e, finalmente, no padrão Unicode, adotado por Windows, que exprime caracteres usando números de dezesseis bits e por isso pode acomodar mais de 65 mil caracteres, o suficiente para acomodar os caracteres de todos os idiomas europeus, além do grego, chinês, japonês e outros). O problema é que, para poderem ser usados universalmente, a maioria dos programas de validação de nomes de usuário e senhas usam apenas a tabela ASCII padrão, de números de sete bits, que não inclui os caracteres acentuados. E quando isso ocorre não se pode identificar usuários com nomes (ou “userids”) que usam acentos.

B. Piropo