Bu nima?
ASCII — axborot almashinuvi uchun Amerika standart kodi
ASCII bu – raqamlar, harflar va belgilarni kompyuter tushunadigan maxsus kodga aylantiradigan kodlash formatidir. Qanday qilib oddiy harflar kodlarga aylanib, mashinalar tilida jonlanadi? Batafsil maqoladan bilib oling.
ASCII oʻzi nima?
ASCII kompyuterlar va internet tarmogʻida matnli maʼlumotlarni kodlash uchun eng keng tarqalgan format hisoblanadi. Standart ASCII formatida kodlangan maʼlumotlarda 128 ta harf, raqam, maxsus qoʻshimcha belgilar va boshqaruv kodlari uchun unikal qiymatlar mavjud boʻladi.
ASCII kodlash formati telegraf maʼlumotlari uchun ishlatiladigan belgilarni kodlash usuliga asoslangan. Buni 1963-yilda Amerika Milliy standartlar instituti kompyuter hisoblash uchun standart sifatida birinchi marta nashr etgan.
ASCII kodlash belgilariga A dan Z gacha boʻlgan katta va kichik harflar, 0 dan 9 gacha boʻlgan raqamlar hamda asosiy tinish belgilar kiradi. Bundan tashqari, u dastlab teletype bosma terminallari bilan ishlatishga moʻljallangan baʼzi chop etilmaydigan boshqaruv belgilarini ham oʻz ichiga oladi.
ASCII belgilari quyidagi usullarda ifodalanishi mumkin:
oʻn oltilik sanoq tizimidagi juft raqamlar shaklida — asosi 16 lik raqamlar boʻlib, 0 dan 9 gacha raqamlar va 10 dan 15 gacha boʻlgan o‘nlik qiymatlar uchun A dan F gacha harflar bilan ifodalanadi.
uch xonali sakkizlik (8 asosli) sonlar sifatida;
0 dan 127 gacha boʻlgan oʻnlik sonlar sifatida yoki
7 bitli yoki 8 bitli ikkilik tizim sifatida.
Masalan, kichik “m” harfi uchun ASCII kodlash quyidagi koʻrinishda boʻladi:
Character/symbol | Description | Hexadecimal | Octal | Decimal | Binary (7 bit) | Binary (8 bit) | HTML number |
---|---|---|---|---|---|---|---|
m | Lowercase m | 6D | 155 | 109 | 110 1101 | 0110 1101 | m |
ASCII belgilari dastlab 7 bitga kodlanib, 8 bitli belgilar sifatida saqlangan edi. Bunda eng ahamiyatli bit odatda eng chapdagisi boʻlib, u 0 ga teng qilib belgilangan.
Character/symbol | Description | Hexadecimal | Octal | Decimal | Binary (7 bit) | Binary (8 bit) | HTML number | HTML name |
---|---|---|---|---|---|---|---|---|
; | Semicolon | 3B | 073 | 59 | 001 11011 | 0001 11011 | ; | ; |
ASCII nima uchun muhim?
ASCII maʼlumotlarni qayta ishlashga xizmat qiluvchi birinchi yirik belgilarni kodlash standartidir. Koʻpchilik zamonaviy kompyuter tizimlari Unicodeʼdan, yaʼni Unicode jahon belgilar standartidan foydalanadi. Bu ASCII kodlashni oʻz ichiga olgan belgilarni kodlash standartidir.
1969-yilda “Tarmoq almashinuvi uchun ASCII formati” nomli RFC (request for comments — izohlar uchun soʻrov) 20 hujjati nashr etilgach, internet muhandisligi ishchi guruhi (IETF) ASCIIʼni internet maʼlumotlari uchun standart format sifatida qabul qildi. Qabul qilingan izohlar uchun soʻrov (RFC) hujjati internet maʼlumotlarida ASCIIʼdan foydalanishni standartlashtirdi. 2015-yilda esa toʻliq standart sifatida qabul qilindi.
ASCII kodlash texnik jihatdan eskirgan boʻlib, uning oʻrnini Unicode egallagan. Shunga qaramay, ASCII belgilari Unicode Transformation Format 8 ning dastlabki 128 belgisi bilan bir xil kodlashdan foydalanadi. Shuning uchun ham ASCII matn va UTF-8 ikkalasi bir-biriga mos keladi.
2003-yilda Internet muhandisligi ishchi guruhi (IETF) RFC 3629 dagi barcha veb kontent uchun UTF-8 kodlashdan foydalanishni standartlashtirdi.
Hozirda deyarli hamma kompyuterlar ASCII yoki Unicode kodlashdan foydalanadi. Lekin IBM kompyuterlari bundan mustasno. Ular EBCDIC (kengaytirilgan ikkilik kodli o‘nlik almashinuv kodi) deb ataladigan 8 bitli xususiy koddan foydalanadi.
ASCII qanday ishlaydi?
ASCII umumiy qabul qilingan va hammaga tushunarli belgilar toʻplamini asosiy maʼlumotlar almashinuvi uchun taqdim etadi. U dasturchilarga ham odamlar, ham kompyuterlar tushuna oladigan interfeyslar yaratishga imkon beradi. ASCII odamlar uchun oʻqilishi mumkin boʻlgan oddiy matn, kompyuterlar uchun esa maʼlumotlar sifatida talqin etilishi va koʻrsatilishi mumkin boʻlgan maʼlumotlar qatorini ASCII belgilari koʻrinishida kodlaydi.
Dasturchilar ASCII belgilari toʻplamining dizaynidan foydalanib, baʼzi vazifalarni soddalashtiradi. Masalan, ASCII belgi kodlaridan foydalangan holda bitta bitni oʻzgartirish orqali matnni katta harflardan kichik harflarga osonlikcha oʻzgartirish mumkin.
“A” bosh harfi quyidagi ikkilik qiymat bilan ifodalanadi:
0100 0001
“a” kichik harfi esa quyidagi ikkilik qiymat bilan ifodalanadi.
0110 0001
Ularning oʻrtasidagi farq uchinchi eng muhim bitdadir. Bu oʻnlik va oʻn oltilik sanoq tizimlarida quyidagicha ifodalanadi:
Character | Binary | Decimal | Hexadecimal |
---|---|---|---|
A | 0100 0001 | 65 | 41 |
a | 0110 0001 | 97 | 61 |
Bosh va kichik harflar oʻrtasidagi farq har doim 32 ga teng (oʻn oltilik sanoq sistemasida 0×20) boʻladi. Shuning uchun bosh harfdan kichik harfga va uning aksiga oʻzgartirish ASCII belgi kodiga 32 ni qoʻshish yoki ayrib tashlashni anglatadi.
Shuningdek, 0 dan 9 gacha boʻlgan raqamlar uchun oʻn oltilik belgilar quyidagicha koʻrinishda boʻladi:
Character | Binary | Decimal | Hexadecimal |
0 | 0011 0000 | 48 | 30 |
1 | 0011 0001 | 49 | 31 |
2 | 0011 0010 | 50 | 32 |
3 | 0011 0011 | 51 | 33 |
4 | 0011 0100 | 52 | 34 |
5 | 0011 0101 | 53 | 35 |
6 | 0011 0110 | 54 | 36 |
7 | 0011 0111 | 55 | 37 |
8 | 0011 1000 | 56 | 38 |
9 | 0011 1001 | 57 | 39 |
Ushbu kodlash formatidan foydalanib, dasturchilar ASCII raqamlarini ikkilik ASCII qiymatlarining toʻrtta eng muhim bitini (0011) olib tashlash orqali osonlikcha raqamli qiymatlarga aylantirishi mumkin. Shuningdek, birinchi oʻn oltilik raqamni tushirib qoldirsa yoki oʻnlik ASCII kodidan 48 ni ayirish orqali ham ushbu hisob-kitobni amalga oshirsa boʻladi.
Dasturchilar, shuningdek, maʼlumotlar oqimi, satr yoki faylda ASCII qiymatlarining mavjudligini tasdiqlash uchun belgilar ketma-ketligidagi eng muhim bitni ham tekshirishi mumkin. Asosiy ASCII belgilarining eng ahamiyatli biti doimo 0 boʻladi. Agar ushbu bit 1 boʻlsa, u holda belgi ASCII formatida kodlangan belgi hisoblanmaydi.
ASCII variantlari va Unicode
ASCII birinchi marta taqdim etilgan paytlarda faqat ingliz tilidagi matnlar uchun qoʻllanardi xolos. 1970-yillarga kelib, 8 bitli kompyuterlar ommalashib borgani sayin ishlab chiquvchilar va standartlashtiruvchi tashkilotlar ASCII belgilar toʻplamini 128 ta qoʻshimcha belgi qiymatlari bilan kengaytira boshladi. Kengaytirilgan ASCII ingliz alifbosidan tashqari boshqa harflarni ham oʻz ichiga oldi. Shunday boʻlsa-da, u dunyodagi koʻplab tillarda, shu jumladan, ingliz tilining oʻzida ham matnni toʻliq kodlash uchun yetarli belgiga ega emas. Har xil ishlab chiqaruvchilar, tillar va mamlakatlarga mos ravishda turli xil kengaytirilgan ASCII to‘plamlari mavjud.
Dastlab boshqa tillar uchun turli belgilarni kodlash standartlari joriy etildi. Baʼzi hollarda bu standartlar oʻziga xos talablarga ega boʻlgan boshqa mamlakatlar uchun ishlab chiqilgan. Boshqa hollarda esa bu kodlash formatlari texnika ishlab chiqaruvchilarning oʻziga tegishli loyihalari boʻlgan.
Unicode turli tillar uchun belgili kodlashlarni amalga oshirish maqsadida kod maydonlarini belgilaydi. Belgilarni kodlashda quyidagi ikki usuldan birini qoʻllash mumkin:
UTF
Umumiy kodli belgilar toʻplami (UCS)
Belgilar til va qoʻllangan kodlash usuliga bogʻliq boʻlib, bir necha usulda ifodalanadi:1) bittadan toʻrttagacha 8 bitli baytlarda (UTF-8); 2) ikkita 16 bitli birliklarda (UTF-6); 3) bitta 32 bitli birlikda (UTF-32)
UCS (umumiy kodli belgilar toʻplami) standarti ISO (xalqaro standartlashtirish tashkiloti) tomonidan ISO/IEC 10646 xalqaro standarti sifatida qoʻllab-quvvatlanadi. Hozirgi vaqtda Unicode standartining 13.0 versiyasida 143 859 ta turli xil belgilar mavjud.
ASCII afzalliklari va kamchiliklari haqida
Yarim asrdan ortiq vaqt davomida foydalanilganidan so‘ng ASCII belgilarni kodlashning afzallik va kamchiliklari yaxshi o‘rganilgan. Bu uning eng katta kuchli tomonlaridan biri hisoblanadi.
Afzalliklari
Hamma birdek qabul qiladi. ASCII belgili kodlash formatini hamma tushuna oladi. EBCDIC kodlashdan foydalanadigan IBM asosiy kompyuterlarini hisobga olmaganda bu Unicode standarti orqali kompyuter tizimlarida universal tarzda qoʻllanadi. Unicode belgilarni kodlash tizimi ASCII kodlashning oʻrnini egallagan boʻlsa-da, ASCII bilan moslashuvchanlik xususiyatini saqlab qolgan.
Belgilarni ixcham kodlash. Standart kodlar 7 bitda ifodalanishi mumkin. Bu shuni anglatadiki, standart ASCII belgilar toʻplamida ifodalanishi mumkin boʻlgan maʼlumotlarni saqlash yoki uzatish uchun zarur boʻlgan baytlar soni faqatgina maʼlumotlardagi belgilar soniga teng boʻladi.
Samarali dasturlash. Harflar va raqamlar uchun belgilarni kodlash tizimi matn bilan ishlash, hisob-kitoblarda raqamlardan foydalanish yoki ularni xomaki maʼlumotlar sifatida saqlash boʻyicha dasturlash usullariga yaxshi moslashtirilgan.
Kamchiliklari
Belgilar cheklangan. Hattoki kengaytirilgan ASCIIʼdan foydalanganda ham faqatgina 255 ta turli xil belgilarni ifodalash mumkin xolos. Standart belgilar toʻplamidagi belgilar inglizcha muloqot uchun yetarli boʻladi. Lekin hozirda kengaytirilgan ASCII tizimi diakritik belgilar va yunon harflarini oʻz ichiga olsa-da, uni lotin alifbosidan foydalanmaydigan tillarga moslashtirishda qiyinchiliklar yuzaga keladi.
Belgilarni samarasiz kodlash. Standart ASCII kodlash formati ingliz tilidagi va raqamli maʼlumotlar uchun samaralidir. Lekin boshqa alifbolardagi belgilarni ifodalash uchun escape kodlar singari qoʻshimcha resurslar talab qiladi.
ASCII kod jadvallari
ASCII yaratilganda dastlab 32 ta chop etilmaydigan boshqaruv kodlarini oʻz ichiga olgan. Ushbu kodlarning koʻpchiligi hisoblash texnikasining ilk davrlarida maʼlumotlarni kiritish va chiqarish uchun ishlatiladigan teletype terminal qurilmalarini boshqarishga moʻljallangan edi. Qolgan 96 ta chop etiladigan belgilar orasida DEL (oʻchirish) va SPACE (boʻshliq) belgilari, shuningdek, alifboning barcha 26 harfi (katta va kichik shaklda), raqamlar hamda tinish belgilari mavjud.
Kengaytirilgan ASCII 127 ta qoʻshimcha belgilar toʻplamini yaratishda 8 bitdan foydalanadi. Yagona kengaytirilgan ASCII belgilar toʻplami mavjud emas. Aksincha u operatsion tizim va ishlab chiqaruvchiga bogʻliq boʻlgan holda turli xil shakllarda uchraydi. Kengaytirilgan ASCII belgilar toʻplamlari odatda ramzlar, diakritik belgili harflar, grafik belgilar hamda ayrim yunon harflarini oʻz ichiga olgan matematik belgilarni qamrab oladi.
Chop qilinmaydigan ASCII boshqaruv kodlari
"0 dan 31 gacha boʻlgan ASCII qiymatlari (ikkilik sanoq tizimida: 000 0000 dan 001 1111 gacha) chop etilmaydigan boshqaruv kodlari hisoblanadi. Ular dastlab maʼlumot oqimini boshqarish uchun moʻljallangan edi. Bu kodlarga
– maʼlumot qismlarining boshlanishi yoki tugashini ko‘rsatadigan kodlar,
– maʼlumot uzatishda ishlatiladigan qurilmalar holatini boshqaruvchi yoki ko‘rsatuvchi kodlar,
– maʼlumot oqimidagi kursorning o‘rnini belgilash uchun mo‘ljallangan kodlar kiradi."
1-jadval. Chop etilmaydigan ASCII boshqaruv kodlari maʼlumotlar oqimini boshqarish uchun ishlatiladi.
ASCII belgilarini chop etish
DEL va SPACE uchun ASCII kodlari chop etilmaydigan boʻlsa-da, ular belgilar oqimini yuborishda qoʻllangani sabab chop etiladigan belgilarning bir qismi hisoblanadi. Standart ASCII belgilar toʻplami 0 dan (000 0000) 127 gacha (111 1111) boʻlgan ikkilik tizim qiymatlarini oʻz ichiga oladi.
2-jadval. ASCII belgilariga a – z, A – Z, 0 –9 gacha boʻlgan belgilar va tanlangan tinish belgilari kiradi.
ASCII sanʼati
ASCII belgilarini grafik tarzda birlashtirish orqali tasvir yaratish ham mumkin. ASCII sanʼati kompyuter terminali yoki faqat matn chop etadigan printer kabi matnli vositalarda grafik tasvirlar yaratishning keng tarqalgan usuli hisoblanadi.
¯\_(ツ)_/¯
Bu — ASCII sanʼatiga oddiy misol. Koʻproq qatorlar va belgilardan, ayniqsa, kengaytirilgan ASCII belgilar toʻplamlaridan foydalanib, yanayam murakkab tasvirlar yaratsa boʻladi.
FTP (fayllarni uzatish protokoli) ascii buyrugʻi
Fayllarni uzatish protokoli (FTP)da ascii buyrug‘i mavjud. U ASCII formatida kodlangan fayllarni uzatish uchun ishlatiladi. Agar FTP orqali fayllar ASCII rejimida uzatilsa, qabul qiluvchi kompyuter faylni o‘z tizimida ASCII formatiga moslashtirishi mumkin.
FTP fayllarni ikkilik rejimda uzatganda ular hech qanday oʻzgartirishga uchramaydi.
ASCII belgili kodlash kelajagi
ASCII belgilarni kodlash tizimi yaratilganidan beri yarim asrdan ortiq vaqt oʻtdi. Shunga qaramay, Unicode standartiga kiritilgan boʻlsa-da, u universal kompyuter va tarmoq maʼlumotlari uchun ham tengsizligicha qolmoqda. Oʻtgan oʻn yilliklar mobaynida saqlab kelingan maʼlumotlarni asrab qolish zaruratini hisobga oladigan boʻlsak, ASCII barcha kompyuter texnologiyalari uchun asosiy poydevor boʻlib qolaveradi.
Manba: What is ASCII (American Standard Code for Information Interchange)?