|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Apr 2004
Città: Sondrio & Pavia
Messaggi: 184
|
[JAVA] Da String a byte[] ???
EDIT: Ho risolto! Semplicemente anche se i valori vengono stampati sballati i byte nell'array sono memorizzati correttamente, per cui i calcoli avvengono in maniera corretta!
Grazie cmque!!! Potete chiudere se volete! Ciao! ====================== Ciao a tutti!! Sto sviluppando un programmino per Android e mi sono bloccato! Il mio problema è convertire una stringa rappresentante dei numeri HEX in byte[]. Ecco l'esempio: Mia stringa = 00255339DBB9 e vorrei che venisse messa così: private byte[] STRINGA_TO_BYTE = {(byte) 0x00, (byte) 0x25, (byte) 0x53, (byte) 0x39, (byte) 0xDB, (byte) 0xB9}; Mi potete aiutare??? Grazie 1000!! P.S: Se può essere utile attualmente uso questo metodo: Codice:
public static byte[] hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i+1), 16));
}
return data;
}
Mia stringa = 00255339DBB9 -se stampo a video String STAMPA = Integer.toString(STRINGA_TO_BYTE[0]); mi restituisce "0" (al posto che 00) -se stampo a video String STAMPA = Integer.toString(STRINGA_TO_BYTE[1]); mi restituisce "25" (CORRETTO) -se stampo a video String STAMPA = Integer.toString(STRINGA_TO_BYTE[2]); mi restituisce "53" (CORRETTO) -se stampo a video String STAMPA = Integer.toString(STRINGA_TO_BYTE[3]); mi restituisce "39" (CORRETTO) -se però stampo a video String STAMPA = Integer.toString(STRINGA_TO_BYTE[4]); mi restituisce "-37" (al posto di "DB") -idem se stampo a video String STAMPA = Integer.toString(STRINGA_TO_BYTE[5]); mi restituisce "-71" (al posto di "B9")
__________________
Home Network powered by NETGEAR Ultima modifica di Neo_Hackman : 30-03-2011 alle 18:02. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:56.



















