java - जावा में कस्टम बाइनरी डेटा संदेश सेट करने का सबसे आसान तरीका क्या है?




binary byte (2)

सी # की दुनिया से आ रहा है और जावा पर ब्रश करता हूं, मैंने सीखा है कि कोई भी अहस्ताक्षरित बाइट्स / इनटी नहीं हैं I मैं यह जानने का प्रयास कर रहा हूं कि निम्न उदाहरण के रूप में कस्टम बाइनरी संदेश बनाने का सबसे आसान तरीका क्या है:

जैसा कि आप देख सकते हैं, कुछ पूर्णांक मानों को एक 3 बिट स्लॉट में डाल दिया जाना चाहिए अन्य मान एकल बिट फ़्लैग हैं, या अन्य आकार के क्षेत्र हैं मैंने जो पढ़ा है, उससे मुझे "अगले बड़े" आदिम में काम करना चाहिए, जैसे कि बिट वार ऑपरेटर्स का उपयोग करके इंटीजर्स में बाइनरी बाइट्स का निर्माण करना। क्या अन्य तरीके हैं? मैंने कुछ उदाहरणों का पालन किया है जो मैं कहीं और पाया है (नोट: यह उदाहरण ऊपर ग्राफिक से मेल नहीं खाता) पहले बाइट संरचित करने के लिए:

shiftedValue1 = (value1 & 0xFF) << 5;
shiftedValue2 = (Value2 & 0xFF) << 2;
shiftedValue3 = (Value3 & 0xFF) << 1;
shiftedValue4 = (Value4 & 0xFF);
finalvalue = (shiftedValue1 & 0xFF) | (shiftedValue2 & 0xFF) | (shiftedValue3 & 0xFF) | (shiftedValue4 & 0xFF);

क्या इन बाइट्स को बनाने का एक बेहतर तरीका है? 4 बाइट क्षेत्रों पर मैं क्या उपयोग करूं? देशांतर?


उदाहरण के अनुसार, आप ByteBuffer का उपयोग करने में सक्षम हो सकते हैं । इसे बाइट सरणी में हेरफेर करना आसान बनाना चाहिए, विशेष रूप से खाते में अंत की तरह बातें लेना।


ऐसा लगता है कि या तो byte[] (बाइट एरेज़) या BitSet एस का उपयोग करना आसान होगा।





bit