UTF-8
UTF-8 क्या है?
UTF-8 एक वेरिएबल-लेंथ एन्कोडिंग स्टैंडर्ड है। इसे Unicode स्टैंडर्ड के तहत टेक्स्ट डेटा को कॉम्पैक्ट और बैकवर्ड-कंपैटिबल तरीके से दर्शाने के लिए बनाया गया है। UTF-8 फ़ॉर्मैट में कोड पॉइंट (जिनके ज़रिए Unicode कैरेक्टर की मैपिंग करता है) एक से चार बाइट में बदले जाते हैं।
UTF-8 फ़ॉर्मैट ASCII के साथ भी कंपैटिबल है, और आज कई टेक्स्ट फ़ाइलें डिफ़ॉल्ट रूप से इसका उपयोग करती हैं। UTF-8 अलग-अलग सिस्टम में सभी लेखन प्रणालियों को एक एकीकृत एन्कोडिंग स्टैंडर्ड में दर्शाता है। इस तरह हमें लेगेसी कोड पेज या एन्कोडिंग फ़ॉर्मैट पर निर्भर नहीं रहना पड़ता।
वेब पेज में UTF-8 का उपयोग कैसे करें
आपके पेज सही ढंग से दिखें, इसके लिए आपको HTML में UTF-8 एन्कोडिंग घोषित करनी होती है। आम तौर पर हम <head> सेक्शन में यह जोड़ते हैं:
<meta charset=”utf-8″>
यह सेटिंग ब्राउज़र को बताती है कि पेज UTF-8 फ़ॉर्मैट का उपयोग करता है। इस सेटिंग के बिना ASCII के दायरे से बाहर के कैरेक्टर टूट सकते हैं, या वे ठीक से नहीं दिखेंगे।
UTF-8 कई तरह के कैरेक्टर सेट को सपोर्ट करता है। इसीलिए HTML5 जैसे वेब मानक डिफ़ॉल्ट रूप से इसका उपयोग करते हैं। टेक्स्ट डेटा के साथ काम करते समय आपको लगातार UTF-8 कैरेक्टर का उपयोग करना चाहिए, ताकि आपकी वेबसाइट अलग-अलग भाषाओं में Unicode को ठीक से संभाल सके।
ASCII कैरेक्टर से भरपूर टेक्स्ट के लिए UTF-16 की तुलना में UTF-8 फ़ॉर्मैट जगह के लिहाज़ से ज़्यादा कुशल है।
UTF-8 एन्कोडिंग कैसे काम करती है
UTF-8 एन्कोडिंग में हर कोड पॉइंट या पॉइंट वैल्यू (Unicode द्वारा निर्धारित एक संख्या) को 1 से 4 बाइट के एक बाइट सीक्वेंस में बदल दिया जाता है। उस सीक्वेंस का पहला बाइट बताता है कि कुल कितने बाइट आगे आएंगे। उदाहरण के लिए:
- कोड पॉइंट 0–127 के लिए एक ही बाइट काफ़ी है।
- इससे बड़े कोड पॉइंट बाइट सीक्वेंस का उपयोग करते हैं। पहला बाइट 110, 1110 या 11110 जैसे बिट से शुरू होता है, जो 2, 3 या 4 बाइट का संकेत देते हैं।
- अगले बाइट हमेशा 10 से शुरू होते हैं, ताकि पता चले कि सीक्वेंस जारी है।
मान्य UTF-8 कैरेक्टर की यह व्यवस्था ओवरलैप होने से रोकती है। चूंकि पहला बाइट सीक्वेंस की लंबाई का संकेत देता है, इसलिए डिकोडर बिना किसी उलझन के पार्सिंग कर सकते हैं।
HTML टैग में UTF-8 के उदाहरण
नीचे HTML5 कोडिंग का एक उदाहरण दिया गया है:
|
<!DOCTYPE html> |
<meta charset> टैग उन कैरेक्टर की सही मैपिंग संभव बनाता है। स्टैंडर्ड एन्कोडिंग का उपयोग करने की सलाह दी जाती है, ताकि ब्राउज़र एक जैसे बाइट सीक्वेंस को एक जैसे कैरेक्टर के रूप में समझें
