Bonjour à tous et toutes,
Vous allez bien?
Voilà, en parcourant le net et les tutoriels je cherchais un moyen simple mais efficace de transférer un entier (2000) via un flux de données primitives (OutputStream) en le convertissant en tableau d'octets (byte[]).
Je pense avoir pris le problème dans un autre sens, je m'explique :
Comme un byte peut prendre de -128 à 127, je voudrai stocker l'entier 2000.
J'ai essayé différemment :
Je prends mon entier que je convertis en String, avec la méthode getBytes() je récupère un tableau de byte :
Ensuite, je récupère chaque caractère du String créé par le tableau de byte, ce qui me redonne la valeur de mon entier plus grand que 127 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 int c = 2000; String g = Integer.toString(c); byte[] f = new byte[4]; f=g.getBytes();
La méthode ne paie pas de mine, mais fonctionne, en parcourant le net j'ai vu pas mal de solutions avec des masques binaires desquelles je ne comprends pas grand chose. (sur cette page notamment)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 for(int i=0 ; i<f.length ; i++) System.out.print((char)f[i]+" ");
Qu'en pensez-vous? Vous avez une alternative?
Partager