Bonjour à tous,

voilà mon problème : j'ai une String qui contient une adresse IP.
et je voudrais récupérer chaque octet dans un tableau de byte[].

Exemple :

String IPAddress = "139.54.87.98";

byte[] buf = new byte[4];
buf[0]=(byte) 0xB8;
buf[1]=(byte) 0xD2;
buf[2]=(byte) 0x78;
buf[3]=(byte) 0x87;

Je dois donc découper ma chaine entre le caractère "."
puis convertir en hexa et rajouter "0x" devant.

Voilà donc ce que j'ai fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
StringTokenizer st = new StringTokenizer(sourceIPAddress, ".");	
String octet4 =  "0x" + Integer.toHexString(Integer.parseInt(st.nextToken()));
String octet3 =  "0x" + Integer.toHexString(Integer.parseInt(st.nextToken()));
String octet2 =  "0x" + Integer.toHexString(Integer.parseInt(st.nextToken()));
String octet1 =  "0x" + Integer.toHexString(Integer.parseInt(st.nextToken()));
Le problème est qu'ensuite, je ne peux pas caster un String en byte.
Je ne vois pas comment faire.

Merci pour votre aide.