si je lis directement les bytes au lieu de leur valeur hexa, ça ne marche pas.
je m'explique :
je lis les bytes dans mon fichier et je les stocke dans une ArrayList bb2.
Pour récupérer la valeur, je fais :
res = ((Byte)bb2.get(0) << 24) | ((Byte)bb2.get(1) << 16) | ((Byte)bb2.get(2) << 8) | ((Byte)bb2.get(3));
mais au final dans res, j'ai la valeur de bb2.get(0) (1er élément de la ArrayList)
où est l'erreur ?
Merci,
Nico
en faisant ça, ça a l'air de mieux fonctionner :
1 2 3 4
| res = (((Byte)bb2.get(0) & 0xFF) << 24) |
(((Byte)bb2.get(1) & 0xFF) << 16) |
(((Byte)bb2.get(2) & 0xFF) << 8) |
((Byte)bb2.get(3) & 0xFF); |
les valeurs sont plus conformes à ce que je dois obtenir.
Partager