हम बाइट सरणी से क्या मतलब है? [बन्द है]


103

क्या कोई समझा सकता है, मुझे इसकी अवधारणा बिल्कुल नहीं आती।

एक बाइट ऐरे क्या है?

हम कब और कहाँ इसका उपयोग अनुप्रयोगों / कार्यक्रमों में करते हैं?

एक बाइट सरणी का उपयोग करने के फायदे और नुकसान क्या हैं?


मुझे लगता है कि यह समझ में आता है; क्योंकि यदि आप जावा I / O कक्षाएं पढ़ते हैं; उदाहरण के लिए ByteArrayInputStream; ByteArrayOutputStream। जब तक कोई बाइटएयर को नहीं समझता, तब तक कोई कैसे बाइट करता है?
जिज्ञासु

जवाबों:


74

एक बाइट 8 बिट्स (बाइनरी डेटा) है।

एक बाइट सरणी बाइट्स (tautology FTW!) का एक सरणी है।

आप बाइट डेटा का संग्रह संग्रहीत करने के लिए एक बाइट सरणी का उपयोग कर सकते हैं, उदाहरण के लिए, एक फ़ाइल की सामग्री। इसका नकारात्मक पक्ष यह है कि संपूर्ण फ़ाइल सामग्री को मेमोरी में लोड किया जाना चाहिए।

बड़ी मात्रा में बाइनरी डेटा के लिए, स्ट्रीमिंग डेटा प्रकार का उपयोग करना बेहतर होगा यदि आपकी भाषा इसका समर्थन करती है।


16
अत्यंत पांडित्य प्राप्त करने के लिए, एक बाइट 8 बिट होने की गारंटी नहीं है। यह निश्चित रूप से आज का वास्तविक मानक है लेकिन ऐतिहासिक रूप से यह हमेशा ऐसा नहीं रहा है। en.wikipedia.org/wiki/Byte
JaredPar

14
@JaredPar: सटीक, लेकिन मुझे लगता है कि किसी डिस्क्लेमर के लिए हर बार किसी को जरूरत पड़ने पर यह बताना थोड़ा मुश्किल होगा कि बाइट 8 बिट्स है।
दीना

6
@ दीना, मैं सहमत हूं, इसीलिए मैंने पांडित्यपूर्ण अस्वीकरण जोड़ा। मैं बस आज प्रासंगिक पृष्ठ को देखने के लिए हुआ।
JaredPar

6
क्या आप कृपया कुछ प्रकाश डाल सकते हैं The downside to this is that the entire file contents must be loaded into memory.?
कोडयोगी

1
@JeffOrris सुनिश्चित नहीं है कि "बाइट सरणी में कनवर्ट करने" से आपका क्या मतलब है । यह कुछ ऐसा नहीं है जो आप आमतौर पर करते हैं। इसके अलावा, "कम कमजोर" क्या?
फिल

56

मुझे लगता है कि आप जानते हैं कि बाइट क्या है। एक बाइट सरणी केवल मेमोरी का एक क्षेत्र होता है, जिसमें सन्निहित (अगल-बगल) बाइट्स का एक समूह होता है, जैसे कि यह उनके बारे में बात करने के लिए समझ में आता है: पहला बाइट, दूसरा बाइट आदि।

जिस तरह बाइट्स विभिन्न प्रकारों और डेटा की श्रेणियों (0 से 255 तक की संख्या, -128 से 127 तक की संख्या, ASCII का उपयोग करने वाले एकल वर्ण जैसे '' a 'या'% ', CPU सेशन-कोड), प्रत्येक बाइट को बाइट सरणी में एनकोड कर सकते हैं इनमें से कोई भी चीज हो सकती है, या कुछ मल्टी-बाइट मानों में योगदान कर सकती है जैसे कि बड़ी रेंज वाली संख्याएँ (जैसे 0. -65535 से 16-बिट अहस्ताक्षरित), अंतर्राष्ट्रीय वर्ण सेट, टेक्स्ट स्ट्रिंग्स ("हैलो"), या भाग / एक संकलित कंप्यूटर प्रोग्राम के सभी।

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


1
बहुत अच्छी व्याख्या !!!
सुंदरराज गोविन्दसामी

11

से विकिपीडिया :

कंप्यूटर विज्ञान में, एक सरणी डेटा संरचना या बस सरणी एक डेटा संरचना होती है जिसमें तत्वों (मूल्यों या चर) का एक संग्रह होता है, प्रत्येक एक या एक से अधिक पूर्णांक सूचकांकों द्वारा पहचाना जाता है, संग्रहीत किया जाता है ताकि प्रत्येक तत्व का पता इसके सूचकांक से गणना की जा सके एक सरल गणितीय सूत्र द्वारा टपल।

इसलिए जब आप बाइट सरणी कहते हैं, तो आप कुछ परिभाषित लंबाई (जैसे तत्वों की संख्या) की एक सरणी की बात कर रहे हैं जिसमें बाइट (8 बिट्स) आकार के तत्वों का संग्रह होता है।

सी # में एक बाइट सरणी की तरह लग सकता है:

byte[] bytes = { 3, 10, 8, 25 };

ऊपर का नमूना 4 तत्वों की एक सरणी को परिभाषित करता है, जहां प्रत्येक तत्व लंबाई में बाइट तक हो सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.