Ok, więc szukałem, jaki jest najlepszy sposób konwersji z tablicy bajtów na jej wartość numeryczną w java i natknąłem się na to link. Druga odpowiedź wspomina o używaniu klasy ByteBuffer. Dla tych, którzy nie chcą, aby kliknąć na link, pierwotnie pytanie pyta, czy mam:Jak używać metody Wrap ByteBuffer w Javie
byte[] by = new byte[8];
jaki sposób można przekonwertować na int? Oraz odpowiedź idzie ...
ByteBuffer bb = ByteBuffer.wrap(new byte[] {0, 0, 0, 0, 0, 0, 0, 4});
long l = bb.getLong();
System.out.println(l);
Wynik
4
I to jest niesamowite, aby dowiedzieć się, ale po prostu chcę potwierdzić coś przed pójściem tą drogą.
Powiedz, że mam wcześniej przeczytaną tablicę bajtów o długości 8 bajtów.
byte[] oldByte = new byte[8];
następnie zrobić ...
ByteBuffer bb = ByteBuffer.wrap(new byte[] {oldByte[2], oldByte[3]});
int intValue = bb.getInt();
Will że praca/odczytywać w taki sam sposób jak w poprzednim przykładzie?
Otrzymasz wyjątek java.nio.BufferUnderflowException, ponieważ potrzebujesz 4 bajtów na int, ale dajesz tylko bajt ByteBuffer 2. – Brinnis