Dlaczego znaki interpunkcyjne w tabeli ASCII są wszędzie?

13

W tabeli ASCII znaki interpunkcyjne pojawiają się między znakami niedrukowalnymi i przed cyframi ( !"#$%&')*+,-./), między cyframi a dużymi literami ( :;<=>?@), między dużymi literami ( [\]^_`) i małymi literami oraz po małych literach ( {|}~).

Na pierwszy rzut oka można się spodziewać, że zostaną one zgrupowane; być może przed wszystkimi znakami alfanumerycznymi lub za nimi. Ale tak nie jest; doceniają się w tych różnych grupach.

Dlaczego tak jest? Czy istnieje jakiś (możliwy historyczny) powód, dla którego postacie są grupowane w ten sposób?

Qqwy
źródło
3
Cyfry i litery zostały ustawione tak, aby były odpowiednio indeksowane 0 i indeksowane 1, odpowiednio od 0110000, 1000000 i 1100000, aby ułatwić ich dekodowanie. Znaki interpunkcyjne wypełniają następnie luki.
David Arno,
3
Zobacz zaakceptowaną odpowiedź na stackoverflow.com/questions/1136156/..., aby uzyskać więcej informacji.
David Arno,

Odpowiedzi:

9

Zgodnie z artykułem Wikipedii ASCII :

Sam kod został ułożony w taki sposób, że większość kodów kontrolnych była razem, a wszystkie kody graficzne były razem, aby ułatwić identyfikację. Dwie pierwsze kolumny (32 pozycje) były zarezerwowane dla znaków kontrolnych.) Znak „spacji” musiał pojawić się przed grafiką, aby ułatwić sortowanie, więc z tego samego powodu stał się pozycją 20 heksową, wiele specjalnych znaków powszechnie używanych jako separatory umieszczono wcześniej cyfry Komitet uznał, że ważne jest, aby obsługiwać 64-znakowe alfabety i zdecydował się na wzorzec ASCII, aby można go było łatwo zredukować do użytecznego 64-znakowego zestawu kodów graficznych, jak to zrobiono w kodzie DEC SIXBIT (1963). Małe litery nie były zatem przeplatane dużymi literami. Aby opcje były dostępne dla małych liter i innych elementów graficznych, kody specjalne i numeryczne zostały umieszczone przed literami, a litera A została umieszczona na pozycji 41hex w celu dopasowania do projektu odpowiedniego brytyjskiego standardu. Cyfry 0–9 zostały ułożone w taki sposób, aby odpowiadały wartościom binarnym poprzedzonym 011, dzięki czemu konwersja z dziesiętnym kodem binarnym jest prosta.

F.Igor
źródło