ASCII աղյուսակը. ինչպես 128 թիվը դարձավ տեքստի հիմքը
ASCII-ը, կրճատ՝ American Standard Code for Information Interchange, կոդավորումն է, որը սովորեցրեց համակարգիչներին համաձայնության գալ, թե ինչ է տառը։ Հրապարակված 1963 թվականին և կատարելագործված 1960-ականների ընթացքում, այն անգլերեն տեքստի յուրաքանչյուր հիմնական նիշ, թվանշանները և մի քանի կառավարման ազդանշան համապատասխանեցնում է թվերի, որոնք մեքենան կարող է պահել ու փոխանցել։ Երբ սեղմում եք մեծատառ A-ի ստեղնը, ձեր համակարգիչը ձև չի պահում, այն պահում է 65 թիվը։ ASCII-ը այն որոնման աղյուսակն է, որը ստիպում է, որ այդ թիվը նշանակի A ամենուր, ուր այն ուղևորվում է։
Ստանդարտը հայտնի է իր կոմպակտությամբ։ ASCII-ը 7-բիթանոց կոդ է, ինչը նշանակում է, որ յուրաքանչյուր նիշ տեղավորվում է յոթ երկուական թվանշանում, և ամբողջ ցանկը ընդգրկում է հենց 2-ի 7-րդ աստիճանը, կամ 128 առանձին կոդային կետ, համարակալված 0-ից 127-ը։ Այդ խնայողությունը միտումնավոր էր։ Վաղ հեռատպագրիչներն ու մոդեմները դանդաղ ու թանկ էին, ուստի ամեն բիթ կարևոր էր։ Յոթ բիթը բավական էր ընդգրկելու մեծատառ և փոքրատառ լատինատառերը, տասը թվանշանները, տարածված կետադրական նշանները և ազդանշանային նիշերը, որոնք սարքերը պահում էին համաժամեցված, ընդ որում մեկ բիթ մնում էր՝ շատ համակարգերի կողմից օգտագործվող սխալների ստուգման համար։

Երկու կես. կառավարման նիշեր և տպագրվող նիշեր
Աղյուսակը մաքուր բաժանվում է երկու շրջանի։ 0-ից 31 կոդերը, գումարած 127 կոդը (DEL), կառավարման նիշերն են։ Դրանք էկրանին գլիֆ չեն տպում։ Փոխարենը դրանք ցուցում են սարքին ինչ-որ բան անել. 9 կոդը հորիզոնական ցատկումն է, 10 կոդը՝ նոր տողի տողատարման նիշը, 13 կոդը՝ վերադարձի նիշը, իսկ 7 կոդը՝ զանգը, որը մի ժամանակ ստիպում էր տերմինալին լսելիորեն հնչել։ Ընդհանուր առմամբ գոյություն ունի երեսուներեք այս ազդանշանային կոդ, և թեև շատերն այժմ պատմական հետաքրքրասիրություններ են, տողատարումը, վերադարձի նիշը և ցատկումը մնում են էական ձևով, թե ինչպես են այսօր ձևաչափվում տեքստային ֆայլերը։
32-ից 126 կոդերը տպագրվող նիշեր են, ընդհանուր առմամբ իննսունհինգը։ 32 կոդը բացատն է, որը համարվում է տպագրվող, քանի որ շարժում է կուրսորը, թեև ոչինչ չի ցուցադրում։ Այնտեղից գնում են կետադրական նշաններն ու սիմվոլները, 0-9 թվանշանները 48-57 կոդերում, մեծատառերը A-ից Z 65-90 կոդերում, և փոքրատառերը a-ից z 97-122 կոդերում։ Այս դասավորությունից բխում է կոկիկ հատկություն. նույն տառի փոքրատառ և մեծատառ տարբերակները տարբերվում են ուղիղ 32-ով, ինչի պատճառով մեկ բիթի փոփոխությունը փոխում է ռեգիստրը։ Այս կանոնավորությունները պատահական չեն, դրանք նախագծված էին այնպես, որ տեսակավորումն ու ռեգիստրի փոփոխությունը կարողանան կատարվել պարզ թվաբանությամբ։
Տասնորդական, տասնվեցական և երկուական. մեկ թվի երեք տեսք
Յուրաքանչյուր ASCII կոդ պարզապես թիվ է, և տեսնելու եք այն գրված երեք եղանակով։ Տասնորդականը (base-10) առօրյա ձևն է, ուստի A-ն 65 է։ Տասնվեցականը (base 16) այն ձևն է, որին ձեռք են երկարացնում ծրագրավորողները, քանի որ այն համընկնում է բայթերի հետ. A-ն 0x41 է, և տպագրվող տիրույթը ձգվում է 0x20-ից մինչև 0x7E։ Երկուականը (base 2) այն ձևն է, որը սարքավորումն իրականում պահում է, ուստի A-ն 1000001 է իր յոթ բիթերում։ Նույն նիշը, երեք նշագրում, և վարժ լինելը դրանց միջև տեղափոխվելիս հիմնական հմտություն է, երբ կարդում եք հիշողության պատկերումներ կամ ցանցային տրաֆիկ։ Եթե հաճախ եք աշխատում այս փոխարկումների հետ, speedor.net-ի ավելի ընդարձակ տեղեկատու աղյուսակների հավաքածուն համապատասխանությունները պահում է ձեզանից մեկ սեղմումով հեռու։

Որտե՞ղ դեռ կարևոր է ASCII-ը
Սխալ կլինի ASCII-ը դասել պատմության շարքին։ Այն կենդանի է ցանկացած մարդու առօրյա աշխատանքում, ով շփվում է կոդի հետ։ Ծրագրավորման լեզուները տողային լիտերալները, աղբյուրի ֆայլերն ու արձանագրության բանալի բառերը դիտարկում են որպես ASCII բայթի մակարդակում։ Ցանցային արձանագրություններ, ինչպիսիք են HTTP վերնագրերը, SMTP-ն, և բազմաթիվ կազմաձևման ձևաչափերը, սահմանված են ASCII-ով, որպեսզի մնան մարդու համար ընթեռնելի։ Երբ տողը կոռումպացված է թվում, ծրագրավորողները ձեռք են երկարացնում տասնվեցական դիտիչին և կարդում հում բայթերը՝ ASCII աղյուսակի հետ համեմատելով, որպեսզի հայտնաբերեն թափառող կառավարման նիշ կամ սխալ տողի ավարտ։ URL կոդավորումը, Base64-ը և թողարկման հաջորդականությունները բոլորն էլ կառուցված են ASCII արժեքների վրա։ Ցանկացած ոք, ով վրիպազերծում է կոդավորման սխալներ, արագ տեղեկատուն ձեր մշակողի գործիքների կողքին խորհրդավոր բայթը վերածում է ակնհայտ պատասխանի։
ASCII-ից մինչև Unicode և UTF-8
ASCII-ը հիանալի էր անգլերենի համար և գրեթե ոչինչ ուրիշ բան։ 128-նիշանոց առաստաղը չի կարող տեղավորել շեշտադրված տառեր, կիրիլիցա, չինարեն, արաբերեն կամ էմոջի։ Unicode-ը դրան պատասխանեց՝ եզակի թիվ, կոչված կոդային կետ, նշանակելով յուրաքանչյուր գրային համակարգի ամեն նիշին, այժմ դրանք բազմության մեջ արդեն հարյուր հազարից ավելի են։ Կարևորը, Unicode-ը նիշերի կատալոգ է, ոչ թե պահպանման ձևաչափ, ուստի նրան անհրաժեշտ է կոդավորում, որպեսզի այդ կոդային կետերը վերածի բայթերի։
UTF-8-ը հենց այդ կոդավորումն է, և հենց դրա շնորհիվ ASCII-ը երբեք իսկապես չվերացավ։ UTF-8-ը օգտագործում է մեկից չորս բայթ մեկ նիշի համար, և այն նախագծված է այնպես, որ 0-ից 127 կոդային կետերը՝ ամբողջ ASCII տիրույթը, պահվում են մեկ բայթում, նույնական հասարակ ASCII-ին։ Դա UTF-8-ը դարձնում է կատարելապես հետահայաց համատեղելի. ցանկացած վավեր ASCII ֆայլ արդեն վավեր UTF-8 ֆայլ է։ 127-ից բարձր նիշերն օգտագործում են լրացուցիչ բայթեր։ Այս էլեգանտ համատեղելիությունը մեծ պատճառներից մեկն է, թե ինչու UTF-8-ն այժմ սնուցում է վեբի ճնշող մեծամասնությունը։ Համառոտ ասած՝ ASCII-ը սկզբնական 128-նիշանոց միջուկն է, Unicode-ը այն ընդգրկող համընդհանուր կատալոգն է, իսկ UTF-8-ը կոդավորումն է, որը կրում է երկուսն էլ՝ ASCII տեքստը թողնելով բայթ առ բայթ անփոփոխ։
Հաճախակի տրվող հարցեր
Քանի՞ նիշ կա ASCII աղյուսակում
Ստանդարտ ASCII-ը սահմանում է 128 նիշ, համարակալված 0-ից 127-ը։ Դրանցից 95-ը տպագրվող նիշեր են, ներառյալ բացատը, և 33-ը կառավարման նիշեր են, որոնք ազդանշանում են սարքերին, ոչ թե տպում գլիֆ։
Ի՞նչ տարբերություն կա կառավարման և տպագրվող նիշերի միջև
Կառավարման նիշերը, 0-31 կոդերը գումարած 127-ը, ցուցում են սարքին ինչ-որ բան անել, ինչպիսին է տողատարումը կամ ցատկումը, և չեն ստեղծում տեսանելի գլիֆ։ Տպագրվող նիշերը, 32-126 կոդերը, տառերն են, թվանշանները, կետադրական նշանները և բացատը, որոնք իրականում տեսնում եք էկրանին։
Ինչու՞ է ASCII-ը 7-բիթանոց կոդ
Յոթ բիթը տալիս է ուղիղ 128 զուգակցում, ինչը բավական էր ընդգրկելու անգլերեն տառերը, թվանշանները, կետադրական նշանները և կառավարման ազդանշանները՝ միևնույն ժամանակ խնայելով թողունակությունը դանդաղ վաղ սարքավորումների վրա։ Բայթի ութերորդ բիթը հաճախ պահուստավորված էր հավասարության սխալի ստուգման համար։
Ո՞րն է A տառի ASCII կոդը
Մեծատառ A-ն տասնորդականով 65 է, տասնվեցականով՝ 0x41, և երկուականով՝ 1000001։ Փոքրատառ a-ն տասնորդականով 97 է, ինչը ուղիղ 32-ով ավելի է, ներկառուցված օրինաչափություն, որը թույլ է տալիս ռեգիստրի փոփոխությունը կատարել պարզ թվաբանությամբ։
ASCII-ը Unicode-ի՞ նույնն է
Ոչ։ ASCII-ը ընդգրկում է 128 նիշ, մինչդեռ Unicode-ը կատալոգավորում է հարյուր հազարից ավելի ամեն գրային համակարգում։ ASCII-ը փաստացի Unicode-ի առաջին 128 կոդային կետերն են, ուստի ավելի մեծ ստանդարտի փոքր ենթաբազմություն է։
Ինչպե՞ս է UTF-8-ը կապված ASCII-ի հետ
UTF-8-ը Unicode-ի կոդավորումն է, որը 0-ից 127 կոդային կետերը պահում է մեկ բայթում, նույնական ASCII-ին։ Սա ցանկացած ASCII ֆայլ դարձնում է վավեր UTF-8 ֆայլ, ինչի պատճառով UTF-8-ը հետահայաց համատեղելի է և գերիշխում է ժամանակակից վեբում։
