DatagramSocket からの符号なしビットを解析しています。合計 24 ビット (または 3 バイト) が入ってきます。1 つの符号なし 8 ビット整数の後に 16 ビット符号付き整数が続きます。しかし、Java は符号付きバイト以外のものをバイト/バイト配列に保存することはありませんか? Java がこれらの値を取り込むとき、最後の 8 番目のビットは失われますか?
DatagramSocket serverSocket = new DatagramSocket(666);
byte[] receiveData = new byte[3]; <--Now at this moment I lost my 8th bit
System.out.println("Binary Server Listing on Port: "+port);
while (true)
{
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
byte[] bArray = receivePacket.getData();
byte b = bArray[0];
}
この 8 番目のビットを 1 バイトに変換したため、失われましたか? 3 バイトのバイト配列を初期化したのは間違っていましたか?