Почему знаки препинания в таблице ASCII повсюду?

13

В таблице ASCII знаки препинания появляются между непечатаемыми символами и перед цифрами ( !"#$%&')*+,-./), между цифрами и заглавными буквами ( :;<=>?@), между заглавными буквами ( [\]^_`) и строчными буквами и после строчных букв ( {|}~).

На первый взгляд можно ожидать, что они будут сгруппированы вместе; возможно, либо перед всеми буквенно-цифровыми символами, либо за ними. Но это не так; они встречаются в этих разных группах.

Почему это так? Есть ли какая-то (возможная историческая) причина, по которой персонажи группируются таким образом?

Qqwy
источник
3
Цифры и буквы были расположены так, чтобы они были 0-индексированы и 1-индексированы соответственно, от 0110000, 1000000 и 1100000 соответственно, чтобы их было легче декодировать. Затем знаки препинания заполняют пробелы.
Дэвид Арно
3
См. Принятый ответ на stackoverflow.com/questions/1136156/… для более подробной информации.
Дэвид Арно

Ответы:

9

Согласно статье Википедии ASCII :

Сам код был структурирован так, что большинство управляющих кодов были вместе, а все графические коды были вместе, для простоты идентификации. Первые два столбца (32 позиции) были зарезервированы для управляющих символов.) Символ «пробел» должен был стоять перед графикой, чтобы упростить сортировку, поэтому он стал позицией 20hex по той же причине, многие специальные знаки, обычно используемые в качестве разделителей, были помещены перед цифры. Комитет решил, что важно поддерживать 64-символьные алфавиты в верхнем регистре, и решил использовать шаблон ASCII, чтобы его можно было легко сократить до 64-символьного набора графических кодов, как это было сделано в коде DEC SIXBIT (1963). Поэтому строчные буквы не чередуются с прописными. Чтобы сохранить опции, доступные для строчных букв и другой графики, специальные и числовые коды были расположены перед буквами, и буква A была помещена в положение 41hex, чтобы соответствовать проекту соответствующего британского стандарта. Цифры 0–9 были расположены так, что они соответствуют значениям в двоичном коде с префиксом 011, что делает преобразование с двоично-десятичным десятичным простым.

F.Igor
источник