← सभी टूल

ASCII टेबल

दशमलव, hex और बाइनरी कोड के साथ पूरी ASCII टेबल। कंट्रोल बनाम प्रिंटेबल कैरेक्टर और ASCII का Unicode व UTF-8 से संबंध जानें।
DecHexOctCharनाम

ASCII तालिका: कैसे 128 संख्याएँ टेक्स्ट की नींव बन गईं

ASCII, जो American Standard Code for Information Interchange का संक्षिप्त रूप है, वह एन्कोडिंग है जिसने कंप्यूटरों को यह सहमत होना सिखाया कि एक अक्षर क्या है। 1963 में प्रकाशित और 1960 के दशक भर में परिष्कृत किया गया, यह अंग्रेज़ी टेक्स्ट के हर बुनियादी वर्ण, अंकों, और मुट्ठी भर नियंत्रण संकेतों को उन संख्याओं पर मैप करता है जिन्हें कोई मशीन संग्रहीत और प्रेषित कर सकती है। जब आप बड़े अक्षर A की कुंजी दबाते हैं, तो आपका कंप्यूटर कोई आकृति संग्रहीत नहीं करता, वह संख्या 65 संग्रहीत करता है। ASCII वह लुकअप तालिका है जो उस संख्या को हर जगह, जहाँ भी वह जाती है, A का अर्थ देती है।

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

सियान और सुनहरे प्रकाश के साथ गहरे इंडिगो में क्रमबद्ध वर्ण कोशिकाओं का अमूर्त चमकता ग्रिड
ASCII हर वर्ण को 128 क्रमांकित कोशिकाओं के एक निश्चित, क्रमबद्ध ग्रिड में व्यवस्थित करता है।

दो हिस्से: नियंत्रण वर्ण और मुद्रण योग्य वर्ण

तालिका साफ़-साफ़ दो क्षेत्रों में बँट जाती है। कोड 0 से 31, और कोड 127 (DEL), नियंत्रण वर्ण हैं। ये स्क्रीन पर कोई ग्लिफ़ नहीं छापते। इसके बजाय वे किसी उपकरण को कुछ करने का निर्देश देते हैं: कोड 9 एक क्षैतिज टैब है, कोड 10 लाइन फ़ीड है जो एक नई पंक्ति पर जाता है, कोड 13 कैरिज रिटर्न है, और कोड 7 वह बेल है जो कभी किसी टर्मिनल को सुनाई देने वाली घंटी बजाता था। ऐसे कुल तैंतीस संकेतन कोड मौजूद हैं, और हालाँकि उनमें से कई अब ऐतिहासिक जिज्ञासाएँ हैं, लाइन फ़ीड, कैरिज रिटर्न, और टैब आज भी टेक्स्ट फ़ाइलों के प्रारूपण के लिए आवश्यक बने हुए हैं।

कोड 32 से 126 मुद्रण योग्य वर्ण हैं, कुल मिलाकर पंचानवे। कोड 32 स्पेस है, जिसे मुद्रण योग्य गिना जाता है क्योंकि यह कुछ न दिखाने के बावजूद कर्सर को आगे बढ़ाता है। वहाँ से आपको विराम चिह्न और प्रतीक मिलते हैं, कोड 48 से 57 पर अंक 0 से 9, कोड 65 से 90 पर बड़े अक्षर A से Z, और कोड 97 से 122 पर छोटे अक्षर a से z। इस लेआउट से एक साफ़ गुण निकलता है: एक ही अक्षर के छोटे और बड़े संस्करण ठीक 32 से भिन्न होते हैं, यही कारण है कि एक बिट पलटने से अक्षर का केस बदल जाता है। ये नियमितताएँ संयोग नहीं हैं, इन्हें इस तरह से बनाया गया था कि छँटाई और केस परिवर्तन सरल अंकगणित से हो सके।

दशमलव, हेक्साडेसिमल, और बाइनरी: एक संख्या के तीन दृश्य

हर ASCII कोड बस एक संख्या है, और आप इसे तीन तरीकों से लिखा देखेंगे। दशमलव रोज़मर्रा का आधार-10 रूप है, इसलिए A 65 है। हेक्साडेसिमल, आधार 16, वह रूप है जिसे प्रोग्रामर अपनाते हैं क्योंकि यह बाइट्स के साथ संरेखित होता है: A 0x41 है, और मुद्रण योग्य परास 0x20 से 0x7E तक चलती है। बाइनरी, आधार 2, वह रूप है जिसे हार्डवेयर वास्तव में संग्रहीत करता है, इसलिए A अपने सात बिट में 1000001 है। एक ही वर्ण, तीन संकेतन, और इनके बीच आसानी से आना-जाना मेमोरी डंप या नेटवर्क ट्रैफ़िक पढ़ते समय एक मुख्य कौशल है। यदि आप इन रूपांतरणों के साथ अक्सर काम करते हैं, तो speedor.net पर संदर्भ तालिकाओं का व्यापक समुच्चय मैपिंग को एक क्लिक दूर रखता है।

एक नेवी क्षेत्र पर चमकती ग्लिफ़ खाँचों में बहती बाइनरी और हेक्साडेसिमल प्रकाश की धाराएँ
बाइनरी और हेक्साडेसिमल केवल अलग-अलग आधार हैं जो एक ही ASCII कोड बिंदु का वर्णन करते हैं।

जहाँ 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 पश्चगामी-संगत है और आधुनिक वेब पर प्रभुत्व रखता है।