UTF-8000: असीमित UTF-8
UTF-8000 नाम का एक प्रस्ताव UTF-8 को बढ़ाकर मनचाहे बड़े integers encode करने देता है, जबकि मौजूदा UTF-8 text के साथ backward compatibility बनाए रखता है, जिससे आज की 21‑bit Unicode range से परे प्रभावी रूप से “असीमित” code points का विचार सामने आता है। Commenters बहस करते हैं कि क्या यह अतिरिक्त space उपयोगी है—जैसे richer emoji, private-use glyphs, या LLM token schemes—या फिर केवल अनावश्यक जटिलता, क्योंकि Unicode का अधिकांश current space अभी भी अप्रयुक्त है और tooling बहुत हद तक UTF‑16/UTF‑8 standards से जुड़ा है। Thread में encodings से जुड़े पुराने मुद्दे भी दोबारा आते हैं, जैसे self-synchronization, BOMs, legacy code pages, CJK efficiency, और नए formats को unsafe या legacy environments की बाधाओं को कितना ध्यान में रखना चाहिए।
UTF-8000 का समग्र दृष्टिकोण
- इसे UTF-8 का एक चतुर, मज़ेदार विस्तार माना गया है जो वर्तमान Unicode के लिए मौजूदा UTF-8 के साथ बाइट-संगत रहते हुए मनचाहे बड़े code points की अनुमति देता है।
- कई लोग इसे एक सुरुचिपूर्ण hack या मूल (pre-2003) UTF-8 का स्वाभाविक विस्तार बताते हैं, जो कभी 5–6-byte sequences की अनुमति देता था।
- अन्य लोग तर्क देते हैं कि Unicode के विशाल अप्रयुक्त space और ऐतिहासिक रूप से UTF‑16 compatibility के लिए लगाए गए व्यावहारिक limit को देखते हुए इसकी ज़रूरत नहीं है।
उपयोगिता बनाम जटिलता
- संशयवादी इसे over-engineering (“IPv6 → IPv50”, “encoding nerds के लिए TIME CUBE”) से तुलना करते हैं और तर्क देते हैं कि हमें कभी इतने सारे characters की ज़रूरत नहीं होगी; Unicode एक सीमित catalog है, generic data container नहीं।
- एक UTF‑8 co-author के quoted letter में 7–8 byte extensions को “not useful” कहा गया है और नोट किया गया है कि 8-byte रूप को उसकी लंबाई जानने के लिए पूरी sequence को scan करना पड़ता है।
- मनमाने-length वाले code points के buffer management को जटिल बनाने और denial-of-service risks पैदा करने की चिंताएँ उठाई जाती हैं, हालांकि कुछ लोग जवाब देते हैं कि आधुनिक memory-safe approaches इसे संभाल सकती हैं।
गुण और trade-offs
- self-synchronization पर चर्चा: तर्क दिया गया है कि UTF‑8000 “किसी भी byte से resync” वाली property को बनाए रखता है, लेकिन संभवतः कुछ उपयोगी homomorphisms (जैसे byte sequences पर simple substring search) को तोड़ देता है।
- कुछ लोग इस बात पर ज़ोर देते हैं कि वर्तमान Unicode में भी arbitrarily long grapheme clusters की अनुमति है, इसलिए fixed-width “characters” वैसे भी एक भ्रम हैं।
- अन्य लोग UTF‑8 के design की प्रशंसा करते हैं: ASCII-compatibility, self-synchronization, और raw bytes पर कई operations करने की क्षमता।
अन्य encodings / उपयोगों से संबंध
- ऐतिहासिक संदर्भ: UTF‑8 की range को 31 से 21 bits तक घटाया गया था ताकि वह UTF‑16 से मेल खाए, जिसे कुछ लोग एक गलती मानते हैं जिसने बहुत छोटी limit को स्थिर कर दिया।
- BOMs, UTF‑16, legacy encodings, और इस इच्छा पर लंबी side discussion कि दुनिया ने UTF‑8 को पहले standardize किया होता तो बेहतर होता।
- कुछ लोग सुझाव देते हैं कि यदि हम सचमुच Unicode से आगे निकल जाएँ, तो UTF‑8 को अंतहीन रूप से बढ़ाने के बजाय एक नया serialization model या Unicode का non-self-synchronizing “re-embedding” बेहतर हो सकता है।
“हम इस space से क्या कर सकते हैं?”
- मज़ाकिया विचार: पूरी तरह से customizable emojis, images या scripts को single code points में encode करना, “Unicode-as-a-character”, और यहाँ तक कि embeddings या LLM tokens भी।
- अन्य लोग नोट करते हैं कि private-use ranges और grapheme clusters पहले से ही कई custom schemes की अनुमति देते हैं, इसलिए UTF‑8000 का अतिरिक्त space व्यावहारिक से अधिक सैद्धांतिक हो सकता है।