2011-04-27 8 views
8

क्या यह सच है कि आर्किटेक्चर बड़ा या छोटा एंडियन है, केवल संख्याओं का मेमोरी लेआउट अलग है, स्ट्रिंग का वही है।क्या यह सच है कि अंतहीनता केवल संख्याओं के स्मृति लेआउट को प्रभावित करती है, लेकिन स्ट्रिंग नहीं?

+0

वहाँ एक प्रोसेसर आर्किटेक्चर वहाँ बाहर है देशी स्ट्रिंग समर्थन के साथ? अक्षर सिर्फ संख्याएं हैं। – geoffspear

उत्तर

10

यदि आपके पास एक साधारण 8-बिट चरित्र प्रतिनिधित्व (उदा। विस्तारित ASCII) है, तो नहीं, अंतहीनता लेआउट को प्रभावित नहीं करती है, क्योंकि प्रत्येक वर्ण एक बाइट है।

यदि आपके पास बहु-बाइट प्रतिनिधित्व है, जैसे यूटीएफ -16, तो हाँ, अंतहीनता अभी भी महत्वपूर्ण है (उदाहरण के लिए http://en.wikipedia.org/wiki/UTF-16#Byte_order_encoding_schemes देखें)।

+0

मुझे पता है कि थोड़ा एंडियन का मतलब है कि कम से कम महत्वपूर्ण बाइट को सबसे कम पते पर बहाल किया गया है, लेकिन यह संख्या के लिए मामला है, स्ट्रिंग के बारे में क्या? –

+0

@ संकलन-प्रशंसक: उदा। देखें http://en.wikipedia.org/wiki/UTF-16#Byte_order_encoding_schemes। –

+0

क्या यह ascii ** स्ट्रिंग ** के लिए महत्वपूर्ण है? –

1

सही 1-बाइट वर्णों के तारों के लिए। यूनिकोड स्ट्रिंग्स (2 बाइट्स/कैरेक्टर) के लिए एक अंतर होगा।

+0

क्या आप अंतर का विस्तार कर सकते हैं? –

+0

@ संकलन-प्रशंसक: यह बहु-बाइट संख्याओं के समान है। –

1

यह आमतौर पर सच नहीं है। परिस्थितियों के आधार पर, वर्णों के लिए एक से अधिक बाइट का उपयोग किया जा सकता है, इस मामले में वर्णों के छोटे एंडियन एन्कोडिंग और वर्णों के बड़े एंडियन एन्कोडिंग के बीच अंतर होता है।

1

अधिकांश भाग के लिए, लेकिन आपको समझना चाहिए क्यों। बिग बनाम थोड़ा एंडियन बहु-बाइट डेटा प्रकारों में पूर्णांक जैसे बाइट्स के क्रम को संदर्भित करता है। ASCII वर्ण केवल एक बाइट हैं।

नोट हालांकि यूनिकोड वर्ण एकाधिक बाइट्स हैं, इसलिए बाइट ऑर्डर महत्वपूर्ण है। यूनिकोड का पूरा बिंदु यह है कि ASCII में एकल बाइट केवल 256 विभिन्न मानों को एन्कोड कर सकता है, जो कि दुनिया की सभी भाषाओं के लिए पर्याप्त नहीं है।

अधिक informantion के लिए यहाँ देखें के बारे में क्या endianness का अर्थ है: http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/endian.html

+0

मुझे पता है कि कैसे एंडियन संख्याओं को प्रभावित करता है, लेकिन मुझे नहीं पता कि यह एसीआई स्ट्रिंग को प्रभावित करता है या नहीं। –

+1

नहीं यह एएससीआईआई स्ट्रिंग को प्रभावित नहीं करता है, क्योंकि ASCII वर्ण एक बाइट हैं, और एक स्ट्रिंग केवल वर्णों की एक सरणी है। यह संख्याओं की सरणी के समान है; संख्याओं का क्रम बदलना नहीं है, लेकिन प्रत्येक संख्या के भीतर बाइट्स का क्रम बदलता है। – jhocking

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

  • कोई संबंधित समस्या नहीं^_^