5-बिट बॉडोट कोड के साथ वास्तव में बहुत काम किया गया था, लेकिन वे जल्दी ही सीमित हो गए (केवल 32 संभव अक्षर, इसलिए मूल रूप से केवल ऊपरी-अक्षर वाले अक्षर, और कुछ विराम चिह्न, लेकिन अंकों के लिए पर्याप्त "स्थान" नहीं) ।
वहां से, काफी कुछ मशीनें 6-बिट वर्णों में गईं। यह तब भी बहुत अपर्याप्त था - यदि आप ऊपरी और निचले मामले (अंग्रेजी) के अक्षरों और अंकों को चाहते थे, जो विराम चिह्न के लिए केवल दो और वर्ण छोड़ता था, इसलिए अधिकांश में वर्ण सेट में केवल एक ही अक्षर का मामला था।
ASCII ने 7-बिट कैरेक्टर सेट को परिभाषित किया। लंबे समय तक बहुत सारे उपयोगों के लिए यह "काफी अच्छा" था, और साथ ही अधिकांश नए चरित्र सेटों का आधार भी बना है (आईएसओ 646, आईएसओ 8859, यूनिकोड, आईएसओ 10646, आदि)
बाइनरी कंप्यूटर डिजाइनरों को दो की आकार की शक्तियां बनाने के लिए प्रेरित करते हैं। चूंकि "मानक" वर्ण को 7 बिट्स की आवश्यकता होती है, इसलिए 2 की शक्ति प्राप्त करने के लिए एक और बिट को जोड़ने के लिए बहुत अधिक खिंचाव नहीं था (और तब तक, भंडारण काफी सस्ता हो रहा था कि अधिकांश वर्णों के लिए थोड़ा सा "बर्बाद" करना) अधिक स्वीकार्य भी था)।
तब से, चरित्र सेट 16 और 32 बिट तक चले गए हैं, लेकिन अधिकांश मुख्यधारा के कंप्यूटर मूल आईबीएम पीसी पर आधारित हैं। फिर से, बाजार के 8-बिट पात्रों के साथ पर्याप्त रूप से पर्याप्त रूप से संतुष्ट है कि भले ही पीसी अपने वर्तमान स्तर के प्रभुत्व में नहीं आया था, मुझे यकीन नहीं है कि हर कोई वैसे भी बड़े पात्रों के साथ सब कुछ करेगा।
मुझे यह भी जोड़ना चाहिए कि बाजार काफी बदल गया है। वर्तमान बाजार में, सॉफ्टवेयर की तुलना में हार्डवेयर द्वारा चरित्र का आकार कम परिभाषित किया गया है। विंडोज, जावा, आदि, बहुत पहले 16-बिट वर्णों में चले गए।
अब, 16- या 32-बिट वर्णों का समर्थन करने में बाधा केवल 16- या 32-बिट वर्णों में निहित कठिनाइयों से न्यूनतम है, और सामान्य रूप से i18n का समर्थन करने की कठिनाई से। ASCII में (उदाहरण के लिए) यह पता लगाना कि क्या कोई अक्षर ऊपरी या निचला मामला है, या दोनों के बीच परिवर्तित करना अविश्वसनीय रूप से तुच्छ है। पूर्ण यूनिकोड / आईएसओ 10646 में, यह मूल रूप से जटिल रूप से जटिल है (इस बिंदु पर कि मानक भी कोशिश नहीं करते हैं - वे टेबल देते हैं, विवरण नहीं)। फिर आप इस तथ्य में जोड़ते हैं कि कुछ भाषाओं / वर्ण सेटों के लिए, ऊपरी / निचले मामले का मूल विचार भी लागू नहीं होता है। फिर आप इस तथ्य में जोड़ते हैं कि उनमें से कुछ में भी वर्ण प्रदर्शित करना अभी भी बहुत अधिक जटिल है।
यह सब पर्याप्त रूप से जटिल है कि सॉफ्टवेयर का विशाल बहुमत भी कोशिश नहीं करता है। स्थिति धीरे-धीरे सुधार रही है, लेकिन धीरे-धीरे ऑपरेटिव शब्द है।