Por que os caracteres de pontuação na tabela ASCII estão espalhados por todo o lugar?

13

Na tabela ASCII , os caracteres de pontuação aparecem entre os caracteres não imprimíveis e antes dos números ( !"#$%&')*+,-./), entre os números e as letras maiúsculas ( :;<=>?@), entre as letras maiúsculas ( [\]^_`) e as letras minúsculas e depois das letras minúsculas ( {|}~).

À primeira vista, seria de esperar que eles fossem agrupados; possivelmente antes de todos os caracteres alfanuméricos ou por trás deles. Mas esse não é o caso; eles aprovam se espalhar nesses diferentes grupos.

Por que esse é o caso? Existe alguma razão (possível histórica) para os personagens serem agrupados dessa maneira?

Qqwy
fonte
3
Os números e as letras foram posicionados de modo a serem indexados em 0 e 1 em respectivamente, de 0110000, 1000000 e 1100000, respectivamente, para facilitar a decodificação. Os caracteres de pontuação preenchem as lacunas.
David Arno
3
Consulte a resposta aceita em stackoverflow.com/questions/1136156/… para obter mais detalhes.
David Arno

Respostas:

9

De acordo com o artigo da Wikipedia ASCII :

O código em si foi padronizado para que a maioria dos códigos de controle estivesse juntos, e todos os códigos gráficos, para facilitar a identificação. As duas primeiras colunas (32 posições) foram reservadas para caracteres de controle.) O caractere "espaço" tinha que vir antes dos gráficos para facilitar a classificação; portanto, tornou-se a posição 20hex pelo mesmo motivo, muitos sinais especiais comumente usados ​​como separadores foram colocados antes. dígitos. O comitê decidiu que era importante apoiar alfabetos maiúsculos de 64 caracteres e optou por padronizar o padrão ASCII para que pudesse ser reduzido facilmente a um conjunto de códigos gráficos de 64 caracteres utilizável, como foi feito no código DEC SIXBIT (1963). Letras minúsculas não foram, portanto, intercaladas com maiúsculas. Para manter as opções disponíveis para letras minúsculas e outros gráficos, os códigos numéricos e especiais foram organizados antes das letras, e a letra A foi colocada na posição 41hex para corresponder ao rascunho do correspondente padrão britânico. Os dígitos de 0 a 9 foram organizados para que correspondam aos valores em binário prefixado com 011, tornando a conversão com decimal decimal com código binário.

F.Igor
fonte