"चरित्र" के अनुसार कितने बिट्स या बाइट्स हैं?
"चरित्र" के अनुसार कितने बिट्स या बाइट्स हैं?
जवाबों:
यह निर्भर करता है कि चरित्र क्या है और इसमें कौन सी एन्कोडिंग है:
8-बिट ASCII एन्कोडिंग में एक ASCII चरित्र 8 बिट्स (1 बाइट) है, हालांकि यह 7 बिट्स में फिट हो सकता है।
ISO-8859-1 एन्कोडिंग में ISO-8895-1 वर्ण 8 बिट्स (1 बाइट) है।
UTF-8 एन्कोडिंग में एक यूनिकोड चरित्र 8 बिट्स (1 बाइट) और 32 बिट्स (4 बाइट्स) के बीच है।
UTF-16 एन्कोडिंग में एक यूनिकोड चरित्र 16 (2 बाइट्स) और 32 बिट्स (4 बाइट्स) के बीच है, हालांकि अधिकांश आम अक्षर 16 बिट्स लेते हैं। यह विंडोज द्वारा आंतरिक रूप से उपयोग किया जाने वाला एन्कोडिंग है।
UTF-32 एन्कोडिंग में एक यूनिकोड वर्ण हमेशा 32 बिट्स (4 बाइट्स) होता है।
UTF-8 में एक ASCII वर्ण 8 बिट्स (1 बाइट) है, और UTF-16 में - 16 बिट्स।
ISO-8895-1 (0xA0-0xFF) में अतिरिक्त (गैर-ASCII) वर्ण UTF-8 और UTF-16 में 16 बिट्स ले जाएगा।
इसका अर्थ होगा कि बिट में 0.03125 और 0.125 अक्षर हैं।
एक बाइट में 8 बिट्स होते हैं (सामान्य रूप से विंडोज़ में बोलते हुए)।
हालाँकि, यदि आप वर्णों के साथ काम कर रहे हैं, तो यह चारसेट / एन्कोडिंग पर निर्भर करेगा। यूनिकोड का चरित्र 2 या 4 बाइट्स हो सकता है, इसलिए यह 16 या 32 बिट्स होगा, जबकि विंडोज -1252 को कभी - कभी गलत तरीके से एएनएसआई कहा जाता है, केवल 8 बाइट्स होते हैं इसलिए 8 बिट्स।
विंडोज के एशियाई संस्करण और कुछ अन्य में, पूरी प्रणाली डबल-बाइट में चलती है, इसलिए एक चरित्र 16 बिट्स है।
संपादित
मैटो की टिप्पणी के अनुसार, विंडोज के सभी समकालीन संस्करण 16-बिट्स का आंतरिक रूप से प्रति वर्ण उपयोग करते हैं।
wchar_t
), न केवल एशियाई वाले, और इसलिए सभी नए अनुप्रयोगों को करना चाहिए। (लिनक्स पर, इसके बजाय, यह पूरी तरह से अलग कहानी है क्योंकि आमतौर पर यूटीएफ -8 पूरे सिस्टम में उपयोग किया जाता है)
char
, जबकि यूनिकोड के तार wchar_t
प्रकार का उपयोग करके संग्रहीत किए जाते हैं । वैसे, जब NT शुरू किया wchar_t
गया था, तो सरोगेट जोड़े से बचने के लिए पर्याप्त था, लेकिन अब जब यह UTF-16 है, तब भी wchar_t
तार में चर-लंबाई के पात्र हो सकते हैं, इसलिए विंडोज पर एक यूनिकोड वर्ण 2 से 4 बाइट्स (1 या 2) से ले सकता है wchar_t
)।
:)