"यूनिकोड": अवतरणों में अंतर

No edit summary
No edit summary
पंक्ति 58:
# यूनिकोड के तीन रूप प्रचलित हैं। UTF-8, UTF-16 और UTF-32.
# इनमें अन्तर क्या है? मान लीजिये आपके पास दस पेज का कोई टेक्स्ट है जिसमें रोमन, देवनागरी, अरबी, गणित के चिन्ह आदि बहुत कुछ हैं। इन चिन्हों के यूनिकोड अलग-अलग होंगे। यहाँ ध्यान देने योग्य बात है कि कुछ संकेतों के ३२ बिट के यूनिकोड में शुरू में शून्य ही शून्य हैं (जैसे अंग्रेजी के संकेतों के लिये)। यदि शुरुआती शून्यों को हटा दिया जाय तो इन्हें केवल ८ बिट के द्वारा भी निरूपित किया जा सकता है और कहीं कोई भ्रम या कांफ्लिक्ट नहीं होगा। इसी तरह रूसी, अरबी, हिब्रू आदि के यूनिकोड ऐसे हैं कि शून्य को छोड़ देने पर उन्हें प्राय: १६ बिट = २ बाइट से निरूपित किया जा सकता है। देवनागरी, जापानी, चीनी आदि को आरम्भिक शून्य हटाने के बाद प्राय: २४ बिट = तीन बाइट से निरूपित किया जा सकता है। किन्तु बहुत से संकेत होंगे जिनमें आरम्भिक शून्य नहीं होंगे और उन्हें निरूपित करने के लिये चार बाइट ही लगेंगे।
# बुन्दुबिन्दु (५) में बताए गये काम को UTF-8, UTF-16 और UTF-32 थोड़ा अलग अलग ढंग से करते हैं। उदाहरण के लिये यूटीएफ-८ क्या करता है कि कुछ लिपिचिह्नों के लिये १ बाइट, कुछ के लिये २ बाइट, कुछ के लिये तीन और चार बाइट इस्तेमाल करता है। लेकिन UTF-16 इसी काम के लिये १६ न्यूनतम बिटों का इस्तेमाल करता है। अर्थात जो चीजें UTF-8 में केवल एक बाइट जगह लेती थीं वे अब १६ बिट ==२ बाइट के द्वारा निरूपित होंगी। जो UTF-8 में २ बाइट लेतीं थी यूटीएफ-१६ में भी दो ही लेंगी। किन्तु पहले जो संकेतदि ३ बाइट या चार बाइट में निरूपित होते थे यूटीएफ-१६ में ३२ बिट=४ बाइट के द्वारा निरूपित किये जायेंगे। (आपके पास बड़ी-बडी ईंटें हों और उनको बिना तोड़े खम्भा बनाना हो तो खम्भा ज्यादा बड़ा ही बनाया जा सकता है।)
# लगभग स्पष्ट है कि प्राय: UTF-8 में इनकोडिंग करने से UTF-16 की अपेक्षा कम बिट्स लगेंगे।
# इसके अलावा बहुत से पुराने सिस्टम १६ बिट को हैंडिल करने में अक्षम थे। वे एकबार में केवल ८-बिट ही के साथ काम कर सकते थे। इस कारण भी UTF-8 को अधिक अपनाया गया। यह अधिक प्रयोग में आता है।