Bonsoir à toutes et tous,
Vous allez bien?
Voilà mon problème, j'aimerai transmettre de l'information via un flux de données.
Quand je dis information, je parle d'entiers ou de chaînes de caractère.
Première partie de ce problème : convertir un entier en binaire sur un octet, et une chaîne (ne dépassant pas 25 caractères) en une série d'octets également.
Ensuite ces octets seront concaténés pour créer une espèce de trame, que j'aimerai envoyer via un flux à un autre programme qui pourra le décoder.
J'ai cherché les classes et méthodes qui pourraient m'être utiles, dans la classe String il y a la méthode getBytes(), que j'ai testée :
Mais le résultat attendu n'est pas au rendez-vous, surement à cause du charset utilisé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 String chaine = "hello world!"; byte[] octets = chaine.getBytes(); System.out.println("Array : " + chaine); System.out.print("Octet : "); int nb = 0; for(int i = 0 ; i <octets.length ; i++){ System.out.print(octets[i]); if((i%8)==0){ System.out.print(" "); nb++; } } System.out.println( " sur " + nb + " octets."); System.out.println(); System.out.println("Array rec : " + new String(octets));
Alors, j'ai cherché du côté de la classe BitSet pour avoir un moyen simple.
Auriez-vous des suggestions pour ce premier problème? (celui du flux viendra ensuite si j'ai des soucis)
Merci d'avance pour vos réponses et vos conseils.
Partager