Perché i caratteri di punteggiatura nella tabella ASCII sono ovunque?


13

Nella tabella ASCII , i caratteri di punteggiatura vengono visualizzati tra i caratteri non stampabili e prima dei numeri ( !"#$%&')*+,-./), tra i numeri e le lettere maiuscole ( :;<=>?@), tra le lettere maiuscole ( [\]^_`) e le lettere minuscole e dopo le lettere minuscole ( {|}~).

A prima vista, ci si aspetterebbe che questi fossero raggruppati insieme; forse prima di tutti i caratteri alfanumerici o dietro di loro. Ma non è così; si diffondono in questi diversi gruppi.

Perché è così? C'è qualche ragione (possibile storica) per cui i personaggi sono raggruppati in questo modo?


3
I numeri e le lettere sono stati posizionati in modo che fossero rispettivamente 0-indicizzati e 1-indicizzati, rispettivamente da 0110000, 1000000 e 1100000, per facilitare la decodifica. I caratteri di punteggiatura quindi riempiono gli spazi vuoti.
David Arno,

3
Vedere la risposta accettata a stackoverflow.com/questions/1136156/… per maggiori dettagli.
David Arno,

Risposte:


9

Secondo l' articolo ASCII di Wikipedia :

Il codice stesso è stato modellato in modo che la maggior parte dei codici di controllo fossero uniti e tutti i codici grafici fossero uniti, per facilitare l'identificazione. Le prime due colonne (32 posizioni) erano riservate ai caratteri di controllo.) Il carattere "spazio" doveva precedere la grafica per facilitare l'ordinamento, quindi divenne posizione 20hex per lo stesso motivo, molti segni speciali comunemente usati come separatori venivano posizionati prima cifre. Il comitato decise che era importante supportare alfabeti a 64 caratteri maiuscoli e decise di creare un modello ASCII in modo che potesse essere facilmente ridotto a un set di codici grafici a 64 caratteri utilizzabile, come è stato fatto nel codice DEC SIXBIT (1963). Le lettere minuscole non erano quindi interlacciate con maiuscole. Per mantenere le opzioni disponibili per le lettere minuscole e altri elementi grafici, i codici speciali e numerici sono stati disposti prima delle lettere, e la lettera A fu posta in posizione 41hex in modo da corrispondere alla bozza del corrispondente standard britannico. Le cifre da 0 a 9 sono state disposte in modo che corrispondano ai valori in binario con prefisso 011, rendendo semplice la conversione con decimale con codice binario.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.