2013-05-27 26 views
6

Mam tablicę bajtów i chcę wykonać pewne manipulacje na podstawie danych, które mam w tej tablicy. Zawartość tablicy bajtów jest w formacie szesnastkowym.Konwertuj tablicę bajtów na liczbę dziesiętną

byte[] signal = message.getFieldValue("_Decoder Message").data(); 

To daje mi tablicę bajtów o następującej zawartości

[ff ff 11 ff ff 82 05 00 13 00 d7 00 fc dc 03 04 00 00 01 00 00 00 1e 00 00 00 52 00 00] 

to możliwe, aby przekształcić tę tablicę bajtów do tablicy, która zawiera wartości po przecinku? Lub jeśli interesuje mnie jakiś konkretny indeks, w jaki sposób mogę przekonwertować wartość tego indeksu na dziesiętny?

Powiedzmy, że chcę przekonwertować indeks 18, który w tablicy bajtowej to 01. Używam Java btw.

Dzięki

+0

„_The zawartość tablicy bajtów jest w systemie szesnastkowym format._” nie może być przypadek. Tablica bajtów zawiera bajty i nic więcej. – jlordo

+0

Jakie wartości dziesiętne? 32bit lub 64bit IEEE? – fge

Odpowiedz

14
public int[] bytearray2intarray(byte[] barray) 
{ 
    int[] iarray = new int[barray.length]; 
    int i = 0; 
    for (byte b : barray) 
     iarray[i++] = b & 0xff; 
    return iarray; 
} 
+0

dzięki uprzejmości .. to tak, odpowiedz ... http://stackoverflow.com/a/3149118/931982 .. wygląda na to samo, więc właśnie skopiowałem – stinepike