Mengapa karakter tanda baca dalam tabel ASCII ada di semua tempat?

13

Dalam tabel ASCII , karakter tanda baca muncul antara karakter yang tidak dicetak dan sebelum angka ( !"#$%&')*+,-./), antara angka dan huruf besar ( :;<=>?@), antara huruf besar ( [\]^_`) dan huruf kecil, dan setelah huruf kecil ( {|}~).

Pada pandangan pertama, orang akan mengharapkan ini dikelompokkan bersama; mungkin sebelum semua karakter alfanumerik atau di belakangnya. Tetapi ini bukan masalahnya; mereka muncul tersebar di berbagai kelompok.

Mengapa demikian? Apakah ada alasan (mungkin historis) mengapa karakter dikelompokkan dengan cara ini?

Qqwy
sumber
3
Angka dan huruf diposisikan sedemikian rupa sehingga masing-masing diindeks 0 dan diindeks 1, masing-masing dari 0110000, 1000000, dan 1100000, untuk memudahkan mereka memecahkan kode. Karakter tanda baca kemudian mengisi kekosongan.
David Arno
3
Lihat jawaban yang diterima untuk stackoverflow.com/questions/1136156/… untuk lebih jelasnya.
David Arno

Jawaban:

9

Menurut artikel Wikipedia ASCII :

Kode itu sendiri terpola sehingga sebagian besar kode kontrol disatukan, dan semua kode grafis disatukan, untuk memudahkan identifikasi. Dua kolom pertama (32 posisi) dicadangkan untuk karakter kontrol.) Karakter "spasi" harus ada sebelum grafik untuk memudahkan penyortiran, sehingga menjadi posisi 20hex karena alasan yang sama, banyak tanda-tanda khusus yang biasa digunakan sebagai pemisah ditempatkan sebelum digit. Komite memutuskan penting untuk mendukung huruf besar 64-karakter, dan memilih untuk memetakan ASCII sehingga dapat dikurangi dengan mudah menjadi seperangkat kode grafis 64-karakter yang dapat digunakan, seperti yang dilakukan dalam kode DEC SIXBIT (1963). Karena itu, huruf kecil tidak disambungkan dengan huruf besar. Agar opsi tersedia untuk huruf kecil dan grafik lainnya, kode khusus dan numerik disusun sebelum huruf, dan huruf A ditempatkan di posisi 41hex agar sesuai dengan rancangan standar Inggris yang sesuai. Digit 0–9 diatur sehingga mereka sesuai dengan nilai-nilai dalam biner yang diawali dengan 011, membuat konversi dengan biner-kode desimal langsung.

F.Igor
sumber