यूटीएफ -8 और यूटीएफ -16 के बीच का अंतर

Anonim

UTF-8 बनाम UTF-16

यूटीएफ यूनिकोड परिवर्तन स्वरूप के लिए खड़ा है में सेट एन्कोडिंग के मानकों का एक परिवार है। यह मानकों का एक परिवार है जो इसके बराबर द्विआधारी मान में यूनिकोड वर्ण को एन्कोडिंग करता है। यूटीएफ को विकसित किया गया था ताकि उपयोगकर्ताओं को कम से कम अंतरिक्ष के साथ अक्षरों को एन्कोड करने का मानकीकृत साधन हो। यूटीएफ -8 और यूटीएफ 16 एन्कोडिंग के लिए स्थापित मानक के केवल दो ही हैं। वे केवल प्रत्येक चरित्र को एन्कोड करने के लिए कितने बाइट्स का उपयोग करते हैं, यह अलग है। चूंकि दोनों चर चौड़ाई एन्कोडिंग हैं, वे डेटा को सांकेतिकृत करने के लिए चार बाइट तक का उपयोग कर सकते हैं, लेकिन जब न्यूनतम की बात आती है, तो यूटीएफ -8 केवल 1 बाइट (8 बिट) और यूटीएफ -16 का उपयोग करता है, 2 बाइट्स (16 बिट) का उपयोग करता है। इनको एन्कोडेड फाइल के परिणामस्वरूप आकार पर एक बड़ा प्रभाव होता है केवल एएससीआईआई वर्णों का उपयोग करते समय, एक यूटीएफ -16 एनकोडेड फ़ाइल उतनी ही बड़ी होगी जितनी ही फाइल यूटीएफ -8 के साथ एन्कोडेड होगी।

यूटीएफ -8 का मुख्य लाभ यही है कि यह एएससीआईआई के साथ पिछला संगत है। ASCII वर्ण सेट निश्चित चौड़ाई है और केवल एक बाइट का उपयोग करता है। जब एन्कोडिंग एक फ़ाइल है जो यूटीएफ -8 के साथ केवल एएससीआईआई वर्णों का उपयोग करती है, तो परिणामस्वरूप फाइल एएससीआईआई के साथ एन्कोडेड फाइल के समान होगी। यूटीएफ -16 का उपयोग करते समय यह संभव नहीं है क्योंकि प्रत्येक अक्षर दो बाइट्स लंबा होगा। लिपिसी सॉफ़्टवेयर जो यूनिकोड से परिचित नहीं है, वह UTF-16 फाइल को खोलने में असमर्थ होगा, भले ही इसमें केवल ASCII वर्ण हों।

-2 ->

यूटीएफ -8 बाइट उन्मुख स्वरूप है और इसलिए बाइट उन्मुख नेटवर्क या फ़ाइल के साथ कोई समस्या नहीं है। दूसरी ओर, UTF-16, बाइट उन्मुख नहीं है और बाइट उन्मुख नेटवर्क के साथ काम करने के लिए एक बाइट क्रम को स्थापित करने की आवश्यकता है। यूटीएफ -8 त्रुटियों से ठीक होने में भी बेहतर है, जो फ़ाइल या धारा के भ्रष्ट अंश हैं क्योंकि यह अभी भी अगले uncorrupted बाइट को डीकोड कर सकता है। यूटीएफ -16 सटीक एक ही काम करता है अगर कुछ बाइट दूषित होते हैं लेकिन कुछ बाइट्स खो जाने पर समस्या होती है। खो दिया बाइट निम्नलिखित बाइट संयोजनों को मिला सकता है और अंतिम परिणाम विकृत हो जाएगा।

सारांश:

1 यूटीएफ -8 और यूटीएफ -16 का उपयोग एन्कोडिंग अक्षर

2 के लिए किया जाता है UTF-8 वर्णों को एन्कोडिंग में कम से कम एक बाइट का उपयोग करता है जबकि यूटीएफ -16 दो

3 का उपयोग करता है एक यूटीएफ -8 एन्कोडेड फाइल एक यूटीएफ -16 एन्कोडेड फाइल

4 से छोटी होती है। यूटीएफ -8 एएससीआईआई के साथ संगत है, जबकि यूटीएफ -16 एएससीआईई

5 के साथ असंगत है यूटीएफ -8 बाइट उन्मुख है, जबकि यूटीएफ -16 नहीं है < 6 UTF-16