Jedwali la ASCII: namba 128 zilivyokuwa msingi wa maandishi
ASCII, kifupi cha American Standard Code for Information Interchange, ni usimbaji uliofundisha kompyuta kukubaliana herufi ni nini. Ulichapishwa mwaka 1963 na kuboreshwa katika miaka ya 1960, unaunganisha kila herufi ya msingi ya maandishi ya Kiingereza, tarakimu, na ishara chache za udhibiti kwenye namba ambazo mashine inaweza kuhifadhi na kutuma. Unapobonyeza kitufe cha herufi kubwa A, kompyuta yako haihifadhi umbo, inahifadhi namba 65. ASCII ndilo jedwali la utafutaji linalofanya namba hiyo imaanishe A popote inapopelekwa.
Kiwango hiki ni kifupi sana kimaarufu. ASCII ni kanuni ya bit 7, ikimaanisha kila herufi inatoshea ndani ya tarakimu saba za binary na jumla ya seti nzima inafikia 2 kwa nguvu ya 7, au pointi 128 za kanuni tofauti zilizohesabiwa kuanzia 0 hadi 127. Uchumi huo ulikuwa wa makusudi. Teletipu na modemu za mapema zilikuwa polepole na ghali, hivyo kila biti ilikuwa na thamani. Biti saba zilitosha kufunika herufi kubwa na ndogo za Kilatini, tarakimu kumi, alama za kawaida za uandishi, na herufi za ishara zilizoweka vifaa katika usawazishaji, huku biti moja iliyobaki ikitumiwa na mifumo mingi kwa ukaguzi wa makosa.

Nusu mbili: herufi za udhibiti na herufi za kuchapisha
Jedwali linagawanyika kwa uwazi katika maeneo mawili. Kanuni 0 hadi 31, pamoja na kanuni 127 (DEL), ni herufi za udhibiti. Hazichapishi umbo kwenye skrini. Badala yake, huamuru kifaa kufanya jambo fulani: kanuni 9 ni tab ya mlalo, kanuni 10 ni line feed inayosogeza mstari mpya, kanuni 13 ni carriage return, na kanuni 7 ni kengele iliyowahi kufanya terminal ilie kwa sauti. Jumla ya kanuni thelathini na tatu za ishara zipo, na ingawa nyingi sasa ni mambo ya kihistoria, line feed, carriage return, na tab bado ni muhimu jinsi faili za maandishi zinavyoumbwa leo.
Kanuni 32 hadi 126 ni herufi za kuchapisha, tisini na tano kwa jumla. Kanuni 32 ni nafasi (space), inayohesabiwa kama ya kuchapisha kwa kuwa inasogeza kishale ingawa haionyeshi chochote. Kuanzia hapo unapata alama za uandishi na ishara, tarakimu 0 hadi 9 kwenye kanuni 48 hadi 57, herufi kubwa A hadi Z kwenye 65 hadi 90, na herufi ndogo a hadi z kwenye 97 hadi 122. Sifa nzuri hutokana na mpangilio huu: matoleo ndogo na makubwa ya herufi ileile hutofautiana kwa 32 tu, ndiyo maana kubadilisha biti moja hubadilisha kifua-herufi (case). Ulinganifu huu si bahati mbaya, uliundwa makusudi ili upangaji na ubadilishaji wa kifua-herufi vifanyike kwa hesabu rahisi.
Desimali, hexadesimali, na binary: mitazamo mitatu ya namba moja
Kila kanuni ya ASCII ni namba tu, na utaiona ikiandikwa kwa njia tatu. Desimali ni umbo la kawaida la msingi-10, hivyo A ni 65. Hexadesimali, msingi-16, ni umbo linalotumiwa na waandaaji programu kwa sababu linalingana na baiti: A ni 0x41, na eneo la kuchapisha huanzia 0x20 hadi 0x7E. Binary, msingi-2, ni umbo ambalo maunzi (hardware) huhifadhi kihalisia, hivyo A ni 1000001 katika biti zake saba. Herufi ileile, misimbo mitatu, na kuwa mahiri katika kuhamia kati yao ni ujuzi wa msingi unapokuwa unasoma miambukizo ya kumbukumbu (memory dumps) au trafiki ya mtandao. Ikiwa unafanya kazi na ubadilishaji huu mara kwa mara, seti pana zaidi ya majedwali ya rejea kwenye speedor.net huweka mifumo hii ikiwa karibu na wewe daima.

Mahali ASCII bado ina umuhimu
Itakuwa kosa kuiweka ASCII katika kabati la historia. Iko hai katika kazi ya kila siku ya yeyote anayegusa msimbo. Lugha za upangaji programu hutendea maandishi ya moja kwa moja, faili za chanzo, na maneno muhimu ya itifaki kama ASCII katika kiwango cha baiti. Itifaki za mtandao kama vichwa vya HTTP, SMTP, na miundo mingi ya mipangilio zimefafanuliwa kwa ASCII ili zibaki zinazosomeka na binadamu. Wakati mfuatano wa herufi unaonekana umeharibika, waandaaji programu hutumia kitazamaji cha hex na kusoma baiti ghafi dhidi ya jedwali la ASCII kutambua herufi ya udhibiti iliyopotea au mwisho wa mstari usio sahihi. Usimbaji wa URL, Base64, na mfuatano wa kutoroka (escape sequences) zote hujengwa juu ya thamani za ASCII. Kwa yeyote anayerekebisha hitilafu za usimbaji, rejea ya haraka karibu na zana zako za waandaaji programu hubadilisha baiti ya fumbo kuwa jibu dhahiri.
Kutoka ASCII hadi Unicode na UTF-8
ASCII ilishughulikia Kiingereza vizuri sana na karibu hakuna lugha nyingine. Kikomo cha herufi 128 hakiwezi kubeba herufi zenye alama za matamshi, Kisiriliki, Kichina, Kiarabu, au emoji. Unicode ilijibu hilo kwa kutoa namba ya kipekee, iitwayo code point, kwa kila herufi katika kila mfumo wa uandishi, sasa zaidi ya laki moja kwa jumla. Muhimu zaidi, Unicode ni orodha ya herufi, siyo mfumo wa kuhifadhi, hivyo inahitaji usimbaji ili kubadilisha pointi hizo za kanuni kuwa baiti.
UTF-8 ndio usimbaji huo, na ndiyo sababu ASCII haikutoweka kabisa. UTF-8 hutumia baiti moja hadi nne kwa kila herufi, na iliundwa ili pointi za kanuni 0 hadi 127, eneo lote la ASCII, zihifadhiwe katika baiti moja inayolingana kabisa na ASCII sahili. Hilo linafanya UTF-8 iendane kikamilifu na ya nyuma: faili yoyote halali ya ASCII tayari ni faili halali ya UTF-8. Herufi zilizo juu ya 127 hutumia baiti za ziada. Uendanifu huu mzuri ni sababu kubwa kwa nini UTF-8 sasa inaendesha sehemu kubwa kabisa ya wavuti. Kwa ufupi, ASCII ni msingi wa asili wa herufi 128, Unicode ni orodha ya jumla inayoibeba, na UTF-8 ndio usimbaji unaobeba zote mbili huku ukiacha maandishi ya ASCII bila kubadilika baiti kwa baiti.
Maswali yanayoulizwa mara kwa mara
Kuna herufi ngapi katika jedwali la ASCII?
ASCII ya kawaida inafafanua herufi 128, zilizohesabiwa kuanzia 0 hadi 127. Kati ya hizo, 95 ni herufi za kuchapisha ikiwemo nafasi, na 33 ni herufi za udhibiti zinazoashiria vifaa badala ya kuchapisha umbo linaloonekana.
Kuna tofauti gani kati ya herufi za udhibiti na za kuchapisha?
Herufi za udhibiti, kanuni 0 hadi 31 pamoja na 127, huamuru kifaa kufanya jambo fulani kama line feed au tab na hazizalishi umbo linaloonekana. Herufi za kuchapisha, kanuni 32 hadi 126, ni herufi, tarakimu, alama za uandishi, na nafasi unayoiona kwa hakika kwenye skrini.
Kwa nini ASCII ni kanuni ya bit 7?
Biti saba hutoa mchanganyiko 128 kamili, ambao ulitosha kufunika herufi za Kiingereza, tarakimu, alama za uandishi, na ishara za udhibiti huku ukiokoa upana wa mawimbi kwenye maunzi ya awali yaliyokuwa polepole. Biti ya nane katika baiti mara nyingi ilihifadhiwa kwa ukaguzi wa usawa (parity).
Kanuni ya ASCII kwa herufi A ni ipi?
A kubwa ni desimali 65, hexadesimali 0x41, na binary 1000001. a ndogo ni desimali 97, ambayo ni juu zaidi ya 32 tu, mfumo uliojengwa ndani unaoruhusu ubadilishaji wa kifua-herufi kufanyika kwa hesabu rahisi.
Je, ASCII ni sawa na Unicode?
Hapana. ASCII inafunika herufi 128, wakati Unicode inaorodhesha zaidi ya laki moja katika kila mfumo wa uandishi. ASCII kwa hakika ni pointi 128 za kwanza za kanuni za Unicode, hivyo ni sehemu ndogo ya kiwango kikubwa zaidi.
UTF-8 inahusianaje na ASCII?
UTF-8 ni usimbaji wa Unicode unaohifadhi pointi za kanuni 0 hadi 127 katika baiti moja inayolingana kabisa na ASCII. Hilo linafanya kila faili ya ASCII kuwa faili halali ya UTF-8, ndiyo maana UTF-8 inaendana na ya nyuma na inatawala wavuti ya kisasa.
