पर 2 या 4 बाइट्स से कनवर्ट करें मुझे बाइट्स को हस्ताक्षरित/हस्ताक्षरित int या छोटा में कनवर्ट करना होगा।हस्ताक्षर/हस्ताक्षरित शॉर्ट/int
नीचे दिए गए तरीके सही हैं? किस पर हस्ताक्षर किए गए हैं और किसने हस्ताक्षर किए हैं?
बाइट आदेश: LITTLE_ENDIAN
public static int convertTwoBytesToInt1(byte b1, byte b2) {
return (int) ((b2 << 8) | (b1 & 0xFF));
}
बनाम
public static int convertTwoBytesToInt2(byte b1, byte b2) {
return (int) (((b2 & 0xFF) << 8) | (b1 & 0xFF));
}
और
public static int convertFourBytesToInt1(byte b1, byte b2, byte b3, byte b4){
return (int) ((b4<<24)+(b3<<16)+(b2<<8)+b1);
}
बनाम
public static int convertFourBytesToInt2(byte b1, byte b2, byte b3, byte b4){
return (int) (((b4 & 0xFF) << 24) | ((b3 & 0xFF) << 16) | ((b2 & 0xFF) << 8) | (b1 & 0xFF));
}
मुझे कोई दिलचस्पी केवल इस रूपांतरण रूपों में कर रहा हूँ। धन्यवाद!
मैं इस रूप में ByteBuffer का उपयोग बहुत अधिक कुशल हो सकता हैं और तुम सिर्फ सेट कर सकते हैं '.order (ByteOrder.LITTLE_ENDIAN)' –