ASCII वास्तव में मूल रूप से 7-बिट कोड के रूप में कल्पना की गई थी। 8-बिट बाइट्स सर्वव्यापी बनने से पहले यह अच्छी तरह से किया गया था, और यहां तक कि 1990 के दशक में आप सॉफ्टवेयर पा सकते थे जो यह मानते थे कि यह प्रत्येक बाइट के 8 वें बिट को अपने उद्देश्यों के लिए उपयोग कर सकता है ("8-बिट क्लीन नहीं")। आजकल लोग इसे 8-बिट कोडिंग के रूप में सोचते हैं जिसमें 0xFF के माध्यम से 0x80 बाइट्स का कोई परिभाषित अर्थ नहीं है, लेकिन यह एक पूर्वव्यापी है ।
दर्जनों पाठ एन्कोडिंग हैं जो 8 बिट का उपयोग करते हैं; उन्हें ASCII- संगत या नहीं के रूप में वर्गीकृत किया जा सकता है, और निश्चित- या चर-चौड़ाई। ASCII- संगत का अर्थ है कि संदर्भ की परवाह किए बिना , 0x7F के माध्यम से 0x00 से मान के साथ एकल बाइट्स उन्हीं वर्णों को कूटबद्ध करते हैं जो वे ASCII में होंगे। यदि आप संभवतः इसे टाल सकते हैं, तो आपको गैर-एएससीआईआई-संगत पाठ एन्कोडिंग के साथ कुछ भी नहीं करना है; ASCII से अपेक्षा करने वाले भोले कार्यक्रम भयावह रूप से, अक्सर सुरक्षा-तोड़ने वाले फैशन में उनकी गलत व्याख्या करते हैं। वे आजकल इतने अधिक पदावनत हैं कि (उदाहरण के लिए) HTML5 ने सार्वजनिक वेब पर यूटीएफ -16 के दुर्भाग्यपूर्ण अपवाद के साथ उनका उपयोग करने से मना कर दिया है । मैं उनके बारे में और बात नहीं करने जा रहा हूं।
एक निश्चित-चौड़ाई वाली एन्कोडिंग का अर्थ है कि यह कैसा लगता है: सभी वर्ण एक ही संख्या के बाइट्स का उपयोग करके एन्कोड किए गए हैं। एएससीआईआई-संगत होने के लिए, एक निश्चित-एन्कोडिंग को केवल एक बाइट का उपयोग करके अपने सभी पात्रों को एन्कोड करना होगा, इसलिए इसमें 256 से अधिक वर्ण नहीं हो सकते। आजकल इस तरह के सबसे आम एन्कोडिंग विंडोज -1252 , आईएसओ 8859-1 का विस्तार है ।
आजकल के बारे में जानने लायक केवल एक चर-चौड़ाई ASCII- संगत एन्कोडिंग है, लेकिन यह बहुत महत्वपूर्ण है: UTF-8 , जो यूनिकोड के सभी को ASCII- संगत एन्कोडिंग में पैक करता है। आप वास्तव में इसका उपयोग करना चाहते हैं यदि आप इसे प्रबंधित कर सकते हैं।
अंतिम नोट के रूप में, "ASCII" आजकल यूनिकोड से अपनी व्यावहारिक परिभाषा लेता है , न कि अपने मूल मानक (ANSI X3.4-1968) से, क्योंकि ऐतिहासिक रूप से ASCII 127-वर्ण प्रदर्शनों की सूची में कई दर्जन विविधताएं थीं - उदाहरण के लिए, कुछ फ्रेंच पाठ के प्रसारण को सुविधाजनक बनाने के लिए विराम चिह्नों को अक्षरों से बदला जा सकता है। आजकल वे सभी विविधताएं अप्रचलित हैं, और जब लोग "ASCII" कहते हैं, तो उनका मतलब है कि 0x7F के माध्यम से मूल्य 0x00 के साथ बाइट्स ने यूनिकोड कोड पॉइंट्स यू + 0000 को यू + 007 एफ के माध्यम से एनकोड किया है। यह शायद आपके लिए केवल तभी मायने रखेगा जब आप खुद को तकनीकी मानक लिखते हुए पाएंगे।
यदि आप ASCII के इतिहास में रुचि रखते हैं और इससे पहले हुए एन्कोडिंग, "द कैरेक्टर्स ऑफ कैरेक्टर कोड, 1874-1968" से शुरू करते हैं ( http://falsedoor.com/doc/asci_evolution-of- पर samizdat copy character-codes.pdf ) और फिर इसके संदर्भों का पीछा करें (जिनमें से कई ऑनलाइन उपलब्ध नहीं हैं और विश्वविद्यालय के पुस्तकालय तक पहुंच के साथ भी इसे खोजना मुश्किल हो सकता है, मुझे खेद है)।