2010-06-21 29 views
11

byte सरणी .NET ढांचे के संदर्भ में क्या है?बाइट [] सरणी क्या है?

मैं array और byte जैसे मानक परिभाषाओं से परिचित हूं और बाइट जैसे इलेक्ट्रॉनिक इंजीनियरिंग अवधारणाओं से बहुत परिचित हूं। लेकिन मैं इसे कंप्यूटर विज्ञान अवधारणाओं के संदर्भ में जोड़ने में विफल रहता हूं। मैं इसे हर जगह इस्तेमाल करता हूं, और मैं इसे गहराई से समझने के साथ इसका उपयोग करता हूं।

+2

बाइट सरणी किसी भी अन्य सरणी से अलग है? आप बाइट सरणी के बारे में स्पष्ट रूप से क्यों पूछते हैं? – Andrey

+7

मुझे यह समझना मुश्किल लगता है कि आप कैसे कह सकते हैं कि आप "सरणी" और "बाइट" की मानक परिभाषाओं से परिचित हैं और अभी तक यह नहीं समझते कि "बाइट सरणी" शब्द का क्या अर्थ होगा। इसके बारे में क्या आपको भ्रमित कर रहा है? –

उत्तर

16

नेट में, एक byte मूल रूप से 0 से 255 को (संख्या कि आठ बिट द्वारा दर्शाया जा सकता) एक संख्या है।

तो, एक byte सरणी सिर्फ संख्या 0 की एक सरणी है - 255

एक निचले स्तर पर, एक सरणी स्मृति का एक सन्निहित ब्लॉक है, और एक बाइट सरणी में है कि स्मृति के सिर्फ एक प्रतिनिधित्व है 8-बिट भाग।

+0

धन्यवाद ... मैं निम्नलिखित सरल एप्लेट लिखा था और यह बहुत अच्छा काम करता है ... static void मुख्य (स्ट्रिंग [] args) { बाइट [] bytearray = नए बाइट [] {0, 1, 2, 3 , 254, 255}; foreach (bytearray में बाइट बी) { कंसोल। राइटलाइन ("{0}", बी। टॉस्ट्रिंग()); } कंसोल। रीडलाइन(); } –

3

यह byte की एक सरणी है। यह द्विआधारी डेटा है - अनियंत्रित (समय पर उस भाषा के संदर्भ में - अर्थहीन से अलग!) डेटा जो मनमाने ढंग से लंबा हो सकता है।

फ़ाइल से एक तस्वीर लोड करने के बारे में सोचें। छवि के साथ काम करने से पहले आप फ़ाइल को byte[] में पढ़ लेंगे।

9

byte[] सरणी केवल कच्चे डेटा की एक सरणी है। उदाहरण के लिए, आकार 2000 बाइट्स की एक फ़ाइल को 2000 तत्वों के byte[] सरणी में लोड किया जा सकता है।

5

एक बाइट 8 बिट्स और बाइट की एक सरणी बाइट्स की एक सरणी है ... यह वास्तव में इतना आसान है।

ध्यान रखने योग्य बात यह है कि चार और बाइट अलग हैं। पुरानी सी शैली में, एक चार और बाइट मूल रूप से एक ही चीज़ थे। .NET में, वर्ण Unicode हैं और प्रति चरित्र 8-32 बिट्स से कहीं भी हो सकते हैं। यह वह जगह है जहां एन्कोडिंग खेल में आती है। आप एक स्ट्रिंग को बाइट सरणी में परिवर्तित कर सकते हैं, और आप Encoding कक्षा का उपयोग कर एक बाइट सरणी को स्ट्रिंग में परिवर्तित कर सकते हैं।

7

तकनीकी रूप से, सभी मेमोरी बाइट्स की एक विशाल सरणी है (2 32-बिट एड्रेस स्पेस में एड्रेस करने योग्य बाइट्स)। सी # (और सी, सी ++, जावा, और कई अन्य भाषाओं में), एक बाइट सरणी बस स्मृति का एक संगत हिस्सा है। इस प्रकार byte[n] सरणी n बाइट्स का एक ब्लॉक है।

बाइट सरणी में आमतौर पर "बाइट" के अलावा कोई अन्य प्रकार नहीं होता है, जो कि केवल 8-बिट डेटा आइटम है।

बाइट एरे आमतौर पर निम्न स्तर के I/O के लिए उपयोग किए जाते हैं, जैसे फ़ाइलों और नेटवर्क के लिए पढ़ने/लिखने वाले बफर, ग्राफिक्स छवि बफर के रूप में, और "untyped" डेटा स्ट्रीम के रूप में।

परिशिष्ट

बाइट्स भी ओक्टेट्स, जैसे कि, आठ बिट मूल्यों के रूप में जाना जाता है। आजकल उपयोग में आने वाले सभी कंप्यूटर और सूचना प्रणाली के बीच डेटा इंटरचेंज के लिए ऑक्टेट सार्वभौमिक इकाई हैं।

यहां तक ​​कि सिस्टम और एन्कोडिंग जो 8-बिट मानों के अलावा कुछ भी उपयोग करते हैं, अभी भी उन प्रणालियों के बीच डेटा को पढ़ने, लिखने और स्थानांतरित करने के लिए ऑक्टेट का उपयोग करते हैं। उदाहरण के लिए, ऑडियो सीडी ध्वनि नमूने 44,100 हर्ट्ज पर नमूने वाले हस्ताक्षरित 16-बिट मानों की स्टीरियो जोड़ी के रूप में एन्कोड किए जाते हैं। जब एक फ्लैट फ़ाइल के रूप में उपयोग किया जाता है (उदाहरण के लिए, ए के रूप में।डब्ल्यूएवी फ़ाइल) या डेटा स्ट्रीम, हालांकि, यह ऑक्टेट्स के अनुक्रम के रूप में प्रकट होता है।

प्रोग्रामिंग भाषाओं के संदर्भ में, तो, ऐसी ध्वनि फ़ाइल को अपने कच्चे रूप में एक बाइट सरणी के रूप में संग्रहीत किया जा सकता है।

0

बाइट ऐरे: एक सरणी जिसमें केवल बाइट प्रकार के तत्व हैं। बाइट: 0 और 255 के बीच सकारात्मक पूर्णांक संख्या, अंतराल बंद। ए और बी दो बाइट हैं।

तो सी = ए + बी, फिर, गणितीय, सी = (ए + बी) सापेक्ष 256 तो सी = एक - बी, फिर, गणितीय, सी = (ए - बी) सापेक्ष 256

तो , आप एन अंकों के साथ 256 के रेडिक्स में एक संख्या के रूप में एन तत्वों के अपने बाइट ऐरे पर विचार (और कभी-कभी उपयोग) कर सकते हैं।