Convertion d'une string en byte[] au format UTF-8

Résolu
cs_smae Messages postés 6 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 16 novembre 2005 - 11 nov. 2005 à 15:44
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 13 nov. 2005 à 11:14
Bonjour,



je cherche à convertir une chaine de caractère (ex : "toto")

en un tableau de byte la représentant au format UTF-8

(ex pour "toto"=04116111116111)



sans passer par un fichier (creer avec DataOutputStream avec l'instruction writeUTF)

ce que je fais pour avoir les valeur de l'exemple.



Merci par avance pour vos suggestions

3 réponses

sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
11 nov. 2005 à 18:37
public static String convertUTF(byte[] bytes) throws IOException
{
byte[] utf = new byte[ bytes.length+2 ];
utf[0] = (byte)((bytes.length & 0xFF00) >> 8);
utf[1] = (byte)(bytes.length & 0x00FF);
System.out.println(utf[0]+"\n"+utf[1]);
System.arraycopy(bytes, 0, utf, 2, bytes.length);
DataInputStream in =
new DataInputStream( new ByteArrayInputStream(utf) );
StringBuilder build = new StringBuilder();
int c = in.read();
while(c !=-1){

build.append(c);
c = in.read();
}
return build.toString();
}


}

c'est un code que j'ai trouver et modifier pour qu'il fasse ce que tu veut !
voici l'original :
public static java.lang.String convertUTF(byte[] bytes) throws IOException
{
byte[] utf = new byte[ bytes.length+2 ];
utf[0] = (byte)((bytes.length & 0xFF00) >> 8);
utf[1] = (byte)(bytes.length & 0x00FF);
System.arraycopy(bytes, 0, utf, 2, bytes.length);
DataInputStream in =
new DataInputStream( new ByteArrayInputStream(utf) );
return in.readUTF();
}

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
3
cs_smae Messages postés 6 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 16 novembre 2005
13 nov. 2005 à 00:09
Merci, mais je cherchais à ne pas utiliser java.io car mon execution ce fait dans une applet.

Mais, ton code me permet de partir sur cette piste, je vais modifier InputStream et voir ce que ça donne.



Merci
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
13 nov. 2005 à 11:14
je pense que tu peut utiliser java.io => ya aucun de fichier de cree !!
fait des test avant !!!
"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
Rejoignez-nous