2013-05-27 30 views
6

Ho una matrice di byte e voglio fare qualche manipolazione sulla base dei dati che ho in questa matrice. Il contenuto dell'array di byte è in formato esadecimale.Convertire la matrice di byte in decimale

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

Questo mi dà l'array di byte con il seguente contenuto

[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] 

E 'possibile convertire questo array di byte in una matrice che contiene i valori in decimale? Oppure se sono interessato a un indice specifico come posso convertire il valore di tale indice in decimale?

Diciamo che voglio convertire l'indice 18 che nell'array di byte è 01. Sto usando Java btw.

Grazie

+0

"_La contenuto del byte è in esadecimale format._" non può essere il caso. Una matrice di byte contiene byte e nient'altro. – jlordo

+0

Quali decimali? IEEE a 32 bit o 64 bit? – fge

risposta

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

courtesy .. this so answer ... http://stackoverflow.com/a/3149118/931982 .. sembra lo stesso, quindi ho appena copiato da lì – stinepike

Problemi correlati