Oublie split et String et travaille uniquement sur ton tableau de bytes!
En effet, regarde ton code:
1 2 3 4 5
| iStream.read(buff); // Des valeurs binaires
String st = new String(buff); // converties en String suivant l'encodage par défaut qui nous est inconnu avec erreurs sur le binaire
char[] LeGroupe= Groupes[ng].toCharArray(); // le char n'ont pas la même valeur que les bytes
short NumGrp= (short) (LeGroupe[0]*256+LeGroupe[1]); // un char c'est 16 bits en java, pas 8, ce calcul va merder
short TailleGrp=(short) (LeGroupe[2]*256+LeGroupe[3]); // pareil |
Dans ton cas, crée ta propre méthode et oublie l'existance des String. Faire une opération byte => string => char => byte aboutira à des valeurs potentiellement différentes.
byte[][] split(byte[] buffer, byte[] marker){....}
Partager