byte[] packet = new byte[2]; // 包長度轉2字節 packet[0] = (byte)(n >> 8); packet[1] = (byte)(n & 0xFF); System.out.println(packet[0]); System.out.println(packet[1]); // 2字節轉回包長度 int p0 = packet[0] < 0 ? packet[0] + 256 : packet[0]; int p1 = packet[1] < 0 ? packet[1] + 256 : packet[1]; System.out.println(p0 << 8 | p1);
還有一種java
ByteBuffer bb = ByteBuffer.allocate(2); bb.putShort((short) (n & 0xFFFF)); bb.flip(); int r = ((int) bb.getShort()) & 0xffff; System.out.println(r == n);; // true