hindou23
Messages postés42Date d'inscriptionlundi 7 septembre 2009StatutMembreDernière intervention20 octobre 2011
-
1 août 2011 à 18:28
hindou23
Messages postés42Date d'inscriptionlundi 7 septembre 2009StatutMembreDernière intervention20 octobre 2011
-
2 août 2011 à 13:46
Bonjour tout le monde,
Je recois une réponse de mon serveur sous forme d'hexa mais au lieu qu'elle m'affiche le nombre avec le 0 par exemple 03 ou 04 ca m'affiche 3 4 5 ...
Voici le code de la reception :
public String receive() {
String reponse = "";
//String reponsetemp;
char[] out = new char[1000];
int nbread;
try {
BufferedReader is = new BufferedReader (new InputStreamReader(this.socket.getInputStream()));
nbread = is.read(out);
// Close the Connection
is.close();
this.socket.close();
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201211 2 août 2011 à 02:43
Salut,
en fait il me semble que tu fait la démarche inverse dans ta methode ;o)
Au lieu de :
reponse = reponse + String.format("%s",Integer.toHexString(out[i]));
essais ce format...
reponse = reponse + String.format("%02X", (int)out[i]);
la methode format est réelement très puissante ;o) ...
ce format converti un integer en hexa sur une longueur de 2 caractères complété à gauche par des 0... Je pense que c est ce que tu voulais faire?!! ;o)
hindou23
Messages postés42Date d'inscriptionlundi 7 septembre 2009StatutMembreDernière intervention20 octobre 2011 1 août 2011 à 19:18
Est ce que le zero existe toujours ou il l'a enlevé???
Si je voudrais faire un cryptage pour tout une chaine qui prendra 2 bits par 2 , est c qu'il va considérer le zero comme s'il existe toujours ou pas???
Merci pour votre réponse
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 1 août 2011 à 22:57
Non, le zéro n'existe plus, pour comprendre ce qui se passe, tu peux exécuter ce code, ce n'est pas exactement la même chose mais on s'en approche :
String chaine = "01"
System.out.println(chaine);//Le 0 est là
int entier = Integer.parseInt(chaine);
System.out.println(entier);//Le 0 n'est plus là
String res = ""+entier;
System.out.println(res);//Le 0 n'est pas là
Pour l'ajouter manuelment, tu peux faire un truc du genre
if(nombre.length==1){
nombre="0"+nombre;
}
Ca n'aura aucune influence sur les autres nombres.
Si tu ne veux vraiment pas retoucher cette chaîne tu es coincé (du moins avec ta façon de faire, il n'y a pas bien de raison de faire la conversion pour envoyer tes données)