Java : String -> Hexa

Sabi -  
 Ozgur -
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.

5 réponses

  1. Kromarius Messages postés 3 Statut Membre 5
     
    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
  2. Gilles
     
    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
    1. Ozgur
       
      Java Programming Code Examples
      http://www.programmingpages.net/JAVA/java-code-examples.html
      0
  3. zebiloute Messages postés 105 Statut Membre 4
     
    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
  4. Greg
     
    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
    1. Kromarius Messages postés 3 Statut Membre 5
       
      Nota : Java encode théoriquement le texte en Unicode, à priori UTF-16 : à vérifier (pas tout à fait en ASCII).
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question