Google Play badge

आस्की


ASCII: कंप्यूटर अक्षरों और प्रतीकों को कैसे संग्रहीत करते हैं

बड़ा विचार

कंप्यूटर संख्याओं का इस्तेमाल करते हैं। लोग अक्षरों और प्रतीकों का इस्तेमाल करते हैं। हमें एक सेतु की ज़रूरत है। ASCII वह सेतु है। ASCII हर अक्षर या प्रतीक को एक संख्या में बदल देता है। कंप्यूटर उस संख्या को संग्रहीत करता है। जब हम पढ़ते हैं, तो कंप्यूटर उस अक्षर को फिर से दिखाता है। कई फ़ाइलों और ऐप्स में टेक्स्ट इसी तरह काम करता है।

कंप्यूटर को कोड की आवश्यकता क्यों होती है?

कंप्यूटर बिजली से चलता है। यह दो अवस्थाओं में काम करता है। चालू और बंद। हम इन अवस्थाओं को बिट्स कहते हैं। एक बिट 0 या 1 होता है। कई बिट्स मिलकर बड़ी संख्याएँ बनाते हैं। आठ बिट्स मिलकर एक बाइट बनाते हैं। बिट्स की मदद से हम गिनती कर सकते हैं। गिनती से हम चीज़ों को नाम दे सकते हैं। ASCII अक्षरों और प्रतीकों के नाम रखने के लिए गिनती का इस्तेमाल करता है।

एक बिट दो विकल्प बनाता है। दो बिट चार विकल्प बनाते हैं। गणित में, इस विचार को \(\;2^n\) के रूप में दर्शाया जाता है। \(n=7\) के लिए, हमें \(2^7 = 128\) विकल्प मिलते हैं। \(n=8\) के लिए, हमें \(2^8 = 256\) विकल्प मिलते हैं। ASCII 7 बिट्स का उपयोग करता है। इससे 128 नामित आइटम मिलते हैं। बाद में लोगों ने 256 आइटम वाले 8-बिट सेट बनाए। इन्हें विस्तारित ASCII कहा जाता है।

ASCII का क्या अर्थ है?

ASCII का अर्थ है अमेरिकन स्टैंडर्ड कोड फॉर इन्फॉर्मेशन इंटरचेंज । इसकी शुरुआत 1960 के दशक में हुई थी। इसे शुरुआती प्रिंटर, टेलीटाइप और कंप्यूटर के लिए बनाया गया था। यह प्रत्येक अक्षर, संख्या, स्पेस और कुछ प्रतीकों को एक संख्या देता है। यह नई लाइन जैसी क्रियाओं को भी विशेष संख्याएँ देता है। पहले संस्करण में 7 बिट्स का इस्तेमाल होता था, इसलिए इसमें 0 से 127 तक की संख्याएँ होती थीं।

ASCII के अंदर क्या है?
सरल मानचित्र उदाहरण

एक दिलचस्प बात पर गौर कीजिए। छोटे अक्षर अपने बड़े अक्षरों के जोड़े से 32 ज़्यादा होते हैं। उदाहरण के लिए, \(\;97 - 65 = 32\) । तो 'a', 'A' से 32 ज़्यादा है। 'b', 'B' से 32 ज़्यादा है, वगैरह। यह पैटर्न कुछ कंप्यूटर कार्यों को आसान बनाता है।

सादे शब्दों में वर्णों को नियंत्रित करें

जब आप एंटर कुंजी दबाते हैं, तो आपका कंप्यूटर सिस्टम के आधार पर LF, या CR, या दोनों भेज सकता है। कई इंटरनेट टूल LF का इस्तेमाल करते हैं। कुछ पुराने सिस्टम CR और LF दोनों का इस्तेमाल एक साथ करते थे।

दशमलव, बाइनरी और हेक्स दृश्य

हम संख्याओं को अलग-अलग तरीकों से लिख सकते हैं। दशमलव (Decimal) गिनती का सामान्य तरीका है, जिसमें 0 से 9 तक अंक इस्तेमाल होते हैं। बाइनरी ( Binary ) में सिर्फ़ 0 और 1 का इस्तेमाल होता है। हेक्साडेसिमल (Hexadecimal) में 0 से 9 और A से F तक अंक इस्तेमाल होते हैं।

बाइनरी 'A' के लिए 65 कैसे बनाता है? 01000001 के बिट्स देखें। सबसे बाईं ओर वाला बिट 128 के लिए है। फिर 64, 32, 16, 8, 4, 2, 1। केवल 64 और 1 ही ऑन हैं। तो \(01000001_{(2)} = 0\times128 + 1\times64 + 0\times32 + 0\times16 + 0\times8 + 0\times4 + 0\times2 + 1\times1 = 65\)

कीबोर्ड से स्क्रीन तक

एक कुंजी दबाएँ। कीबोर्ड कंप्यूटर को एक कोड भेजता है। सिस्टम उसे एक वर्ण संख्या में बदल देता है। कई कुंजियों के लिए, वह संख्या ASCII संख्या होती है। ऐप उस संख्या को मेमोरी में संग्रहीत करता है। जब यह टेक्स्ट दिखाता है, तो वह संख्या को खोजता है और अक्षर बनाता है। जब आप सेव करते हैं, तो संख्याएँ फ़ाइल में चली जाती हैं।

नेटवर्क पर पाठ कैसे प्रसारित होता है

संदेश " हाय!" के बारे में सोचिए। इसके अक्षर H, i, और ! हैं। इनके ASCII अंक 72, 105, और 33 हैं। बाइनरी में, ये 01001000, 01101001, और 00100001 हैं। नेटवर्क इन बिट्स को भेजता है। दूसरा पक्ष बिट्स को पढ़ता है। यह अंक देखता है। यह H, i, और ! को फिर से दिखाता है। साधारण टेक्स्ट संदेश इसी तरह चलते हैं।

विस्तारित ASCII और कोड पृष्ठ

लोग ज़्यादा प्रतीक चाहते थे। उन्हें é, ñ, और ø जैसे अक्षर चाहिए थे। उन्हें € जैसे मुद्रा चिह्न चाहिए थे। 7-बिट सेट में केवल 128 प्रतीक थे। इसलिए लोगों ने 8 बिट्स का इस्तेमाल किया। 8 बिट्स से हमें \(2^8 = 256\) प्रतीक मिलते हैं। ऊपर का आधा हिस्सा, 128 से 255 तक, अतिरिक्त अक्षरों और प्रतीकों के लिए इस्तेमाल किया गया था। लेकिन एक समस्या थी। अलग-अलग समूहों ने उन अतिरिक्त अक्षरों के लिए अलग-अलग संख्याएँ चुनीं। इन विकल्पों को कोड पेज कहा जाता है।

चूँकि कोड पेज अलग-अलग होते हैं, इसलिए एक ही नंबर दूसरे कंप्यूटर पर अलग-अलग चिह्न दिखा सकता है। इस गड़बड़ी को मोजीबेक कहते हैं। ये अजीब अक्षर जैसे दिखते हैं। यही एक वजह है कि दुनिया यूनिकोड की ओर बढ़ी।

ASCII और यूनिकोड

यूनिकोड एक बड़ा मानक है जो कई भाषाओं, गणितीय प्रतीकों और इमोजी को प्रदर्शित कर सकता है। इसमें दस लाख से ज़्यादा प्रतीकों के लिए जगह है। यूनिकोड को संग्रहीत करने के कई तरीके हैं। एक लोकप्रिय तरीका UTF-8 है।

पाठ कितने बाइट्स का उपयोग करता है?

केवल ASCII टेक्स्ट में, प्रत्येक वर्ण एक बाइट का उपयोग करता है। इसलिए cat शब्द 3 बाइट्स का उपयोग करता है। hi mom वाक्यांश में स्पेस सहित 6 वर्ण हैं, इसलिए यह 6 बाइट्स का उपयोग करता है। सरल गणित में, \(\textrm{ASCII बाइट्स} = \textrm{वर्णों की संख्या}\)

ASCII के साथ क्रमबद्धता

कंप्यूटर अक्सर स्ट्रिंग्स को उनके वर्ण संख्याओं के आधार पर क्रमबद्ध करते हैं। ASCII क्रम चीज़ों को एक निश्चित तरीके से समूहित करता है।

इसका मतलब है कि अगर हम साधारण ASCII मानों की तुलना करें, तो Zoo, apple से पहले आता है। यह क्रम संख्याओं के आधार पर है, शब्दों की ध्वनि के आधार पर नहीं।

जानने योग्य सामान्य ASCII कोड

ध्यान दें कि एम्परसेंड & है। इसका ASCII अंक 38 है। धन चिह्न + 43 है। ऋण चिह्न - 45 है।

रोजमर्रा की तकनीक में वास्तविक उपयोग
ASCII पैटर्न जो मदद करते हैं
ASCII से चित्र कैसे बनाए जा सकते हैं?

लोग सिर्फ़ अक्षरों का इस्तेमाल करके चित्र बनाते हैं। इसे ASCII कला कहते हैं। यहाँ ASCII अक्षरों से बना एक छोटा सा चेहरा दिखाया गया है।

:-) सरल मुस्कान
(^_^) दोस्ताना चेहरा
o_O आश्चर्यचकित

हर चेहरा बस कोलन, डैश और कोष्ठक जैसे अक्षर हैं। कोई रंग या आकार नहीं। बस टेक्स्ट।

इतिहास संक्षेप में, सरल शब्दों में

ASCII का विकास टेलीटाइप और शुरुआती कंप्यूटरों से हुआ। 1963 में, इसके पहले संस्करण पर सहमति बनी। इसने कई अलग-अलग मशीनों को एक-दूसरे से बातचीत करने में मदद की। एक साझा कोड के साथ, A जैसे अक्षर का मतलब हर जगह एक ही संख्या होता था। इससे संदेश भेजना और टेक्स्ट प्रिंट करना आसान हो गया।

जब ASCII पर्याप्त न हो

ASCII में केवल 128 आइटम हैं। यह सभी भाषाओं के लिए पर्याप्त नहीं है। यह चीनी, हिंदी, अरबी या कई अन्य लिपियों को प्रदर्शित नहीं कर सकता। यह इमोजी नहीं दिखा सकता। यह कई गणितीय और संगीत प्रतीकों को भी प्रदर्शित नहीं कर सकता। इनके लिए हम यूनिकोड का उपयोग करते हैं। यूनिकोड कई लिपियों और प्रतीकों को प्रदर्शित कर सकता है। UTF-8 इन्हें संग्रहीत करने का एक तरीका है। अच्छी बात यह है कि सभी ASCII टेक्स्ट UTF-8 के अंदर काम करते हैं। इसलिए आधुनिक सिस्टम पुराने ASCII को आसानी से पढ़ सकते हैं।

आज ऐप्स ASCII को कैसे संभालते हैं

ज़्यादातर ऐप्स UTF-8 की अपेक्षा रखते हैं। लेकिन जब किसी फ़ाइल में केवल ASCII अक्षर और चिह्न होते हैं, तो वह UTF-8 में भी वैसी ही दिखाई देती है। प्रोग्रामर इसे पसंद करते हैं क्योंकि यह चीज़ों को सरल बनाता है। वेब पेज, API और कई टूल UTF-8 का उपयोग करते हैं, जिसमें ASCII बिना किसी बदलाव के शामिल होता है।

छोटी संख्या के तथ्य और अनुकूल गणित

ASCII एक 7-बिट सेट है। इसका मतलब है कि \(2^7 = 128\) तक अलग-अलग वर्ण। 8 बिट वाले विस्तारित सेट में \(2^8 = 256\) आइटम होते हैं। यदि आपके टेक्स्ट में केवल ASCII वर्ण हैं, और उसमें \(n\) वर्ण हैं, तो वह \(n\) बाइट्स का उपयोग करता है। OK जैसे छोटे संदेश में, \(n = 2\) । इसलिए ASCII या UTF-8 के रूप में संग्रहीत होने पर यह 2 बाइट्स का उपयोग करता है।

छिपे हुए पात्रों को देखना

कुछ ASCII आइटम क्रियाएँ करते हैं और प्रिंट नहीं होते। स्पेस खाली प्रिंट करता है। लेकिन LF और CR कर्सर को गति देते हैं। TAB जंप करता है। जब हम किसी फ़ाइल को किसी विशेष संपादक में खोलते हैं, तो वह LF को \n के रूप में दिखा सकता है। यह प्रतीक स्वयं ASCII का हिस्सा नहीं है। यह एक तरीका है जिससे संपादक आपको लाइन ब्रेक दिखाता है।

साधारण उदाहरण जो वास्तविक लगते हैं
ध्यान देने योग्य बातें
सरल चरणों में उपकरण ASCII का उपयोग कैसे करते हैं

एक लेबल निर्माता की कल्पना कीजिए जो नाम छापता है। यह नाम को अक्षरों के रूप में पढ़ता है। यह प्रत्येक अक्षर को ASCII संख्याओं में बदल देता है। यह उन संख्याओं को मेमोरी में संग्रहीत करता है। यह प्रत्येक संख्या को कैसे लिखा जाए, यह देखकर अक्षरों को छापता है। यदि यह LF (10) से मिलता है, तो यह आगे की पंक्ति छापने से पहले अगली पंक्ति पर चला जाता है।

एक अक्षर का कोड लिखने के तीन तरीकों की तुलना

'!' अक्षर को फिर से देखें। हम इसका कोड तीन तरीकों से लिख सकते हैं। दशमलव: 33. बाइनरी: 00100001. हेक्स: 21. गणितीय रूप में, \(\;33_{(10)} = 00100001_{(2)} = 21_{(16)}\) । प्रत्येक रूप एक ही मान है। ऐप्स अपनी ज़रूरत के अनुसार रूप चुनते हैं। लोग अक्सर दशमलव पढ़ते हैं। कंप्यूटर बाइनरी पसंद करते हैं। हेक्स लोगों के लिए बाइनरी संख्याएँ पढ़ने का एक छोटा तरीका है।

ASCII इतने लंबे समय तक क्यों चला?

ASCII छोटा और स्पष्ट है। इसे बहुत पहले बनाया गया था। इस पर कई उपकरण और प्रोटोकॉल बनाए गए थे। चूँकि शुरुआती 128 यूनिकोड कोड ASCII से मेल खाते थे, इसलिए यह योजना आज भी काम करती है। यही कारण है कि आप नए फ़ोन या लैपटॉप पर बहुत पुरानी टेक्स्ट फ़ाइलें खोलकर उनमें वही अक्षर देख सकते हैं।

लघु मार्गदर्शिका: एक छोटी फ़ाइल पढ़ना

"हैलो" टेक्स्ट वाली एक फ़ाइल खोलें। बाइट्स ASCII संख्याएँ हैं: 72 101 108 108 111। बाइनरी में, ये हैं: 01001000 01100101 01101100 01101100 01101111। ऐप प्रत्येक संख्या को पढ़ता है और स्क्रीन पर "हेलो" बनाता है। अगर अगली संख्या 10 है, तो यह आगे टेक्स्ट बनाने से पहले एक नई पंक्ति में चला जाता है। यह प्रक्रिया कितनी सरल और स्थिर है, इसका अंदाज़ा इसी से लगाया जा सकता है।

केवल ASCII कब चुनें
लोग अक्सर जिन प्रमुख प्रतीकों का उपयोग करते हैं
छोटी संख्याओं के साथ बिट विचारों की त्वरित जाँच

संख्या 10 के बारे में सोचिए। बाइनरी में, यह 00001010 है। दशमलव में, यह दस है। ASCII में, 10 LF है, जो लाइन फीड है। यह दर्शाता है कि एक ही संख्या को अलग-अलग तरीकों से कैसे दिखाया जा सकता है। इसका अर्थ इस बात पर निर्भर करता है कि हम संख्या का उपयोग कैसे करते हैं। अगर हम कहते हैं कि यह एक कैरेक्टर कोड है, तो 10 का मतलब LF है। अगर हम कहते हैं कि यह सिर्फ़ सेबों की गिनती है, तो यह दस सेब हैं। संदर्भ मायने रखता है।

एक और उदाहरण के साथ यह सब एक साथ लाना

हम एक डिवाइस से दूसरे डिवाइस पर Sun शब्द भेजेंगे। कोड हैं 'S' 83, 'u' 117, 'n' 110। बाइनरी में, 83 का मतलब है 01010011, 117 का मतलब है 01110101, और 110 का मतलब है 01101110। बिट्स ऑन और ऑफ सिग्नल के रूप में चलते हैं। दूसरा डिवाइस बिट्स को वापस संख्याओं में बदल देता है। फिर यह संख्याओं को अक्षरों में बदल देता है। यह Sun शब्द दिखाता है। अगर अगला कोड 32 है, तो वह स्पेस है। अगर अगला 33 है, तो वह '!' है। नियम हर बार एक जैसे रहते हैं। यही साझा कोड की ताकत है।

Download Primer to continue