2010-07-08 11 views
6

ऑक्टेट स्ट्रिंग और चार के बीच क्या अंतर है? एक ऑक्टेट स्ट्रिंग का उपयोग कैसे किया जा सकता है? क्या कोई ऑक्टेट स्ट्रिंग पर एक छोटा सी प्रोग्राम लिख सकता है? स्मृति में संग्रहीत ऑक्टेट तार कैसे हैं?ऑक्टेट स्ट्रिंग का क्या अर्थ है? ऑक्टेट और चार के बीच क्या अंतर है?

+1

क्षमा करें, केवल वे लोग जिन्होंने ऑक्टेट खेलने वाले सबक ले लिए हैं, वे ऑक्टेट स्ट्रिंग पर प्रोग्राम लिख सकते हैं। ;-) वे अन्य चर के साथ स्मृति में संग्रहीत हैं। मैं केवल ऑक्टेट्स के बारे में चिंता करता हूं जब अन्य संगीतकारों में से एक नहीं दिखाता है।;-) –

उत्तर

1
  • एक ऑक्टेट 8-बिट बाइट के लिए एक और शब्द है।
  • एक char आमतौर पर 8 बिट्स होता है, लेकिन कुछ आर्किटेक्चर पर एक और आकार हो सकता है।
+0

एएनएसआई सी में हस्ताक्षरित चार (अधिकांश कंपाइलरों पर वैकल्पिक हस्ताक्षर वैकल्पिक, एक परिवर्तनीय व्यवहार) 8 बिट से कम नहीं है, 8 बिट से अधिक नहीं है, और 8 बिट सटीक रूप से है। 2-पूर्ण रूपांतरण के बाद यह दशमलव प्रतिनिधित्व है, -127 से 128 तक जाता है। हस्ताक्षरित चार 0 से 255 तक जाता है। – jpinto3912

+3

@ jpinto3912: यह _at कम से_127 से 127 या 0 से 255 तक जाता है, लेकिन यह एक व्यापक कवर कर सकता है रेंज। वास्तव में, हस्ताक्षरित वर्ण आमतौर पर -128 से 127 तक विस्तृत सीमा को कवर करते हैं। – ninjalj

+0

@jp: http://stackoverflow.com/questions/2098149/what-platforms-have-something-other-than-8-bit-char – kennytm

0

एक ऑक्टेट स्ट्रिंग केवल 8 के टुकड़ों में समूहित बिट्स का एक अनुक्रम है। वे 8-आकार वाले समूह अक्सर वर्णों का प्रतिनिधित्व करते हैं। ऑक्टेट स्ट्रिंग एसएनएमपी के लिए उपयोग किया जाने वाला एक मूल डेटा प्रकार है।

12

मानक (और ऐसे) "octet" का उपयोग स्पष्ट रूप से यह बताते हैं कि वे 8-बिट समूहों के बारे में बात कर रहे हैं। जबकि अधिकांश मौजूदा कंप्यूटर बाइट्स के साथ काम करते हैं जो आकार में 8 बिट भी होते हैं, यह आवश्यक नहीं है। असल में, "बाइट" बल्कि खराब परिभाषित किया गया है, जिसका अर्थ निश्चित रूप से क्या है इसका अर्थ है - इसलिए सटीकता की आवश्यकता होने पर आम तौर पर इससे बचा जाता है।

फिर भी, एक ठेठ कंप्यूटर पर, एक ऑक्टेट बाइट के समान ही होता जा रहा है, और एक ऑक्टेट स्ट्रीम बाइट्स की श्रृंखला में संग्रहीत की जाएगी।

1

एक ऑक्टेट एक साथ संभालने के लिए 8 बिट्स (इसलिए "ऑक्टेट" में "ऑक्ट") होता है। जब हम इन दिनों "बाइट" कहते हैं, तो हम यही सोचते हैं।

एक चार मूल रूप से एक बाइट है - इसे स्मृति की सबसे छोटी पता योग्य इकाई के रूप में परिभाषित किया जाता है, जो लगभग सभी आधुनिक कंप्यूटरों पर एक ऑक्टेट के समान होता है। लेकिन 9-बिट, 16-बिट, यहां तक ​​कि 36-बिट "शब्द" वाले कंप्यूटर भी हैं जो उस परिभाषा के अनुसार वर्ण के रूप में अर्हता प्राप्त करते हैं। यदि आपके पास एक है तो आपको केवल उन कंप्यूटरों (और इस प्रकार, एक char और octet के बीच के अंतर के बारे में) की देखभाल करने की आवश्यकता है - जिन लोगों के पास अजीब हार्डवेयर है, उनके बारे में चिंता करें कि उनके कार्यक्रम कैसे चलते हैं।

+0

यह न केवल प्राचीन पीडीपी में होता है। टीआई से कुछ डीएसपी में 16 या 32-बिट वर्ण हैं, – ninjalj

-1

एक स्ट्रिंग ऑक्टेट्स का एक सेट होता था, जो बारी है 8 बिट्स का एक सेट है।

सी में एक स्ट्रिंग, हमेशा एक शून्य-समाप्त, स्मृति संगत, बाइट्स सेट है। दिन में वापस, प्रत्येक बाइट, एक ऑक्टेट, एक चरित्र का प्रतिनिधित्व किया। यही कारण है कि उन्होंने स्ट्रिंग बनाने के लिए इस्तेमाल किए गए प्रकार का नाम दिया, char

एएससीआईआई तालिका, जो 0 से 127 तक जाती है, ग्राफिक्स/उच्चारण संस्करण 0 से 255 तक जा रहा है, अब स्ट्रिंग में वर्ण प्रदर्शित करने के लिए पर्याप्त नहीं था, इसलिए कोई व्यक्ति चरित्र प्रतिनिधित्व में बिट जोड़ने के बावजूद था। सीएस से डंब-गधे 9 बिट के बावजूद और आगे, एचडब्ल्यू लोगों ने क्या जवाब दिया, "क्या आप पागल हैं ??? इसे मेमोरी एड्रेसिंग यूनिट का एक बहुमत रखें", जो तब बाइट था। विस्तृत चरित्र तार दर्ज करें, यानि प्रति 16 बिट्स। डब्ल्यूसी स्ट्रिंग पर, प्रत्येक वर्ण को 2 बाइट्स द्वारा दर्शाया जाता है ... वहां आपके char = 1 बाइट नियम नाली के नीचे जाता है।

स्ट्रिंग का सटीक विवरण रखने के लिए, यदि यह वर्णों का एक सेट है- प्रतिनिधित्व-द्वारा -8 बिट्स (पृथ्वी में, ASCII तालिका के बाद, लेकिन मैं मंगल ग्रह पर गया हूं), यह एक "ऑक्टेट स्ट्रिंग" है।

यदि यह "ऑक्टेट स्ट्रिंग" नहीं है तो यह डब्ल्यूसी हो सकता है या नहीं हो सकता है ... जोएल इस पर nice post था।

+0

एक ऑक्टेट 8-बिट बाइट है। यह अन्य बाइट आकारों के विपरीत है जो कभी-कभी सामने आते हैं, जैसे पीडीपी जैसे पुराने हार्डवेयर पर 6-बिट, 9-बिट या 12-बिट बाइट्स की तरह। – jww

संबंधित मुद्दे