Bonjour,
j'ai une petite question assez bête. J'ai par exemple la String "AB". Comment puis je convertir ca en un byte ?
Bonjour,
j'ai une petite question assez bête. J'ai par exemple la String "AB". Comment puis je convertir ca en un byte ?
Bonjour,
Tu peux utiliser la méthode getBytes sur la String:
Tu récupères alors un tableau de byte, dans la charset par défaut de la plateforme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 byte[] b=maString.getBytes();
Merci bien mais je ne sais pas si je l'utilise mal, mais ca ne donne pas ce que j'espère.
Avec le code :
J'ai un tableau d'octet avec les valeurs ascii de A et de B.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 String str = "AB"; byte[] octet = str.getBytes();
En fait ce que je veux, c'est avoir un byte dont la valeur serait 171.
Edit :
Bon j'ai trouvé, je peux utiliser la fonction Byte.parseString(str, 16);
Par contre, je ne comprend pas, des que je lui donne des valeurs avec le bit de poid fort à 1, j'ai un NumberFormatException. Alors je pense que ca vient du fait que Java ne gere pas les valeurs non signé, mais comment puis je regler ca ?
Si j'ai bien compris "AB" représente le nombre décimal 171?
Normalement ca serait byte resultat = Byte.parseByte("AB",16). mais comme un byte est compris entre -128 et 127, Tu auras une erreur. Il te faut passer par une variable de capacité supérieure comme int resultat = Integer.parseInt("AB",16);
Tu peux ensuite le garder dans un int ou le caster en byte. Mais sa valeur après le cast sera en fait de -85 et non plus 171
Ah bah voila, tu réponds pendant que j'édite. Bon je vais essayer de voir si je peux me débrouiller avec ca. Merci bien ^^
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager