UCS-2 आणि UTF-16 दरम्यान फरक

Anonim

UCS-2 vs UTF-16

UCS-2 आणि UTF-16 दोन वर्णांचे एन्कोडिंग योजना आहेत जे 2 बाइट्स वापरतात, ज्यामध्ये 16 बिट्स असतात, प्रत्येक प्रतिनिधित्व करण्यासाठी वर्ण अशा प्रकारे 2 आणि 16 प्रत्यय UCS-2 आणि UTF-16 मधील मुख्य फरक हा आजचा वापर होत आहे. UCS-2 एक जुनी योजना आहे ज्यापासून ते अप्रचलित मानले गेले आहे आणि त्याऐवजी नवीन आणि अधिक शक्तिशाली UTF-16 ने बदलले आहेत.

UCS-2 निश्चित चौकट एन्कोडिंग आहे जे प्रत्येक अक्षरकरीता दोन बाइट्स वापरते; याचा अर्थ, तो एकूण 216 वर्ण किंवा 65 हजारांहून अधिक पर्यंत प्रतिनिधित्व करू शकते. दुसरीकडे, UTF-16 एक परिवर्तनीय रूंदीची एन्कोडिंग योजना आहे जी किमान 2 बाइट आणि प्रत्येक अक्षरांसाठी 4 बाइट्सचा वापर करते. हे सर्वात सामान्यतः वापरल्या जाणार्या वर्णांसाठी किमान जागा वापरत असताना, यूटीएफ -16 मध्ये युनिकोडमध्ये कोणत्याही वर्णाचे प्रतिनिधित्व करते. बहुतेक 65, 000+ वर्ण, UCS-2 आणि UTF-16 समान कोड बिंदू आहेत; म्हणून ते मुख्यत्वे समकक्ष आहेत. यामुळे UTF-16 सक्षम अनुप्रयोगांना योग्यरित्या UCS-2 कोडची व्याख्या करता येते. परंतु UTF-16 मधील बर्याच सुधारणांमुळे अन्य मार्ग अहे.

एक उददीक म्हणजे स्क्रिप्टचे प्रतिनिधित्व करण्याची क्षमता जे डावीकडून उजवीकडे ऐवजी डावीकडे वळाते. यूटीएफ -16 मध्ये स्क्रिप्ट्स दिशादर्शक ओळखू शकतात, अशा प्रकारे अनुप्रयोगास कोडमध्ये साठवलेल्या शब्दांना अचूकपणे रेंडर करण्याची परवानगी मिळते. UCS-2 मध्ये या क्षमतेचा अभाव असतो त्यामुळे अरबी आणि हिब्रू सारख्या स्क्रिप्टसह कार्य करणार नाही, जे उजवीकडून डावीकडे हलवा. UTF-16 चे आणखी एक वैशिष्ट्य म्हणजे सामान्यीकरण. सामान्यीकरण अशाच शब्दांचा अर्थ लावते जे समानच असतं परंतु ते वेगळेपणे सारखेच प्रतिनिधित्व करतात. उदाहरणार्थ, असे शब्द "करू शकत नाहीत" आणि "शक्य नाही" हे समान आहेत कारण नंतरचे हे केवळ जुन्याच एक संकुचन आहेत. हे खूप महत्वाचे आहे, खासकरून जेव्हा आपण असे शब्द शोधत असतो, कारण ते अधिक व्यापक शोध परिणामासाठी अनुमती देतात. UCS-2 मध्ये, हे आपोआप होत नाही, म्हणून अनुप्रयोग स्वतःच्या अशाच एका वैशिष्ट्याची अंमलबजावणी करणे आवश्यक आहे

UTF-16 वर UCS-2 निवडण्याची खरोखरच आवश्यकता नाही, एकतर एक अनुप्रयोग नसल्यास आपल्याला UTF-16 ला समर्थन देण्याची आवश्यकता नाही सर्वच बाबतीत UTF-16 UCS-2 पेक्षा श्रेष्ठ आहे. हे बर्याचदा बॅकवर्ड सुसंगत आहे, म्हणून आपल्याला UCS-2 मध्ये एन्कोड केलेल्या फायलींबद्दल काळजी करण्याची गरज नाही.

सारांश:

  1. UCS-2 अप्रचलित आहे आणि नंतर UTF-16
  2. UCS-2 ने एका निश्चित रूंदीची एन्कोडिंग योजना आहे जेव्हा UTF-16 एक परिवर्तनीय रूंदी एन्कोडिंग योजना आहे
  3. UTF-16 सक्षम अनुप्रयोग UCS-2 फाइल्स वाचू शकतात परंतु < UTF-16 सुमारे इतर मार्गाने नाही तर UCS-2 नसल्यास UTF-16 स्क्रिप्टिंग करू शकतात. UTF-16 सामान्यत्वाचा आधार घेतो जेव्हा UCS-2 नाही