Java : String -> Hexa

Fermé
Sabi - 5 mars 2002 à 20:06
 Ozgur - 24 juin 2011 à 00:10
Bonjour,

Je suis à la recherche d'une méthode permettant de transformer une chaine de caractères, contenant la valeur d'une couleur (ex : #FFFF00) , en une valeur hexadécimale.

Merci d'avance.
A voir également:

5 réponses

Kromarius Messages postés 3 Date d'inscription lundi 26 avril 2010 Statut Membre Dernière intervention 8 mai 2010 5
Modifié par Kromarius le 26/04/2010 à 13:31
Voici un code que j'ai fait qui transforme un String en un autre String image hexadécimal du précédent. Il me semble plus juste et propre que le code que j'ai référencé précédemment.

    public String stringToHexa(String texte) { 
        int c;//int's equivalent to char 
        char s=' ';//separator 
        //To safe memory - limite gc requests 
        StringBuffer buff = new StringBuffer(texte.length()); 
        for (int i = 0; i < texte.length(); i++) { 
            c=texte.charAt(i); 
            buff.append(Integer.toHexString(c)).append(s); 
        } 
        return buff.toString(); 
    }


Nota : Il est préférable d'utiliser un buffer lorsque l'on change régulièrement la taille d'une suite de caractères, autrement un nouveau String serait généré à chaque (String)+=(String)
6
Kromarius Messages postés 3 Date d'inscription lundi 26 avril 2010 Statut Membre Dernière intervention 8 mai 2010 5
8 mai 2010 à 12:20
0
Bonjour,

La fonction Integer.parseInt(String, int) permet de parser un nombre écrit dans la base voulue (le second argument). Pour parser de l'hexa, Integer.parserInt("0F",16).

... donc en combinant des substrings et des parseInt cela devrait suffire.

Salutations
2
Java Programming Code Examples
http://www.programmingpages.net/JAVA/java-code-examples.html
0
zebiloute Messages postés 105 Date d'inscription mardi 15 janvier 2002 Statut Membre Dernière intervention 14 avril 2005 4
6 mars 2002 à 08:50
Ben il faut que tu recupére les caractère un par un et que tu le transforme en hexa. Pour l'exa : C'est po tres complique :

Il doit y avoir des fonction qui le font ts seul me je connais po aseez JAVA pour ça sinon la methode est :

Xd (decimal)
Xh (Hexa)

tu fais : R = Xd / 16 => Tu prends la partie entière qui te donne le poid fort du charactère (Pfort)

Avec lapartie decimale (reste de la division (r) tu fe Pfaible = 16 / r

Ex : 186(d) => 186 / 16 = 11, 625

D ou 11 C'est B en Hexa (0 1 2 3 4 5 6 7 8 9 A B C D E F)
et 16/0.625 = 10 et 10 C'est A en Hexa

D'ou 186d => BAh


Ce qui te fait un truc du genre

str2 : String
DecToHex : fonction qui fait la conversion d'un byte Decimal en Hexa

String str2 = "";

for(int i=0; i<str.length(); i++)
{
str2.appened((char)DecToHex((byte)str.charAt(i)));
}

G po verifier, mais c 'est un truc comme ça. Disle moi si Ca marche po Je te filerais l'algo.

P.S. Y asurement des focntion spéciale pour le faire. Donc si quelqu'un de calé à une idée !!!



genre
Quand ça veut Po ça veut po !!!
- Et ben y a plus qu'à attendre -
0
Bonjour, je cherche a convertir un string vers sont equivalent ASCII le tout dans une chaine de caractère. Je m'explique :

Je recupere une chaine du type "Hello world" et j'aimerais recupéré sont equivalent ASCII dans une autre chaine de caractère, c'est a dire "48656C6C6F20776F726C64" dans notre exemple.

Merci d'avance ;)
0
Kromarius Messages postés 3 Date d'inscription lundi 26 avril 2010 Statut Membre Dernière intervention 8 mai 2010 5
26 avril 2010 à 01:53
Nota : Java encode théoriquement le texte en Unicode, à priori UTF-16 : à vérifier (pas tout à fait en ASCII).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Voici un lien sur un code qui le fait :
https://java.happycodings.com/core-java/code11.html
0