Obtenir le code ASCII d'un caractère et le convertir en Hexa

Obtenir le code ASCII d'un caractère et le convertir en Hexa - Java - Programmation

Marsh Posté le 31-12-2002 à 15:24:32    

J'imagine que ça se fait en 2 étapes, et justement, je bloque sur les 2.
Un pitite aide s'il vous plé ? Allez, c'noël...:D


Message édité par El_gringo le 31-12-2002 à 15:27:47
Reply

Marsh Posté le 31-12-2002 à 15:24:32   

Reply

Marsh Posté le 31-12-2002 à 16:33:18    

El_Gringo a écrit :

J'imagine que ça se fait en 2 étapes, et justement, je bloque sur les 2.
Un pitite aide s'il vous plé ? Allez, c'noël...:D


 
Tiens c'est exactement le TP que j'ai donne a mes etudiants il y a 2 mois (faire un editeur hexadecimal en java) :lol:
 
La méthode simple :
 
Si tu lis un char, le cast en int (pour avoir l'ASCII) puis utilises Integer.toHexString(value).
 
Dans l'autre sens pour transformer un hexstring en int : Integer.parseInt(value, 16) ou value est le String en question. Ensuite tu cast en char pour avoir le caractere.
 
La méthode geek :
 
Au lieu d'utiliser Integer.toHex... euh... en fait ca me broute de t'expliquer la :lol: voici le code, amuses toi bien !
 

Code :
  1. /**
  2.      * @see jexdit.util.HexConverter#byteToHexString(int)
  3.      */
  4.     public String byteToHexString(int value) {
  5.      // we keep hi bits of the int reseting the low bits to 0 and bitshifting to the right  
  6.      int hi = (value & 0xf0) >> 4;
  7.      // we keep low bits of the int reseting the hi bits to 0  
  8.      int low = (value & 0x0f);
  9.         return "" + hexChars.charAt(hi) + hexChars.charAt(low);
  10.     }
  11.     /**
  12.      * @see jexdit.util.HexConverter#hexStringToByte(java.lang.String)
  13.      */
  14.     public byte hexStringToByte(String value) {
  15.         return (byte)Integer.parseInt(value, 16);
  16.     }


 
Note : les noms de methodes ne sont pas tres bien choisis... desole...


Message édité par phenixl le 31-12-2002 à 17:13:28
Reply

Marsh Posté le 31-12-2002 à 17:10:14    

Ah oui...
 
Pour utiliser ceci tu dois :
 
1. avoir un char...
2. convertir ton char en ASCII (cast to int)
3. avoir la variable hexChars
 

Code :
  1. private String hexChars = "0123456789abcdef";


 
4. appeler byteToHexString().
 
Donc :
 

Code :
  1. char c = 'A';
  2. String hexString = byteToHexString((int)c);


Reply

Marsh Posté le 31-12-2002 à 17:14:39    

ha... cool, merci.
Et... l'intéret de la méthode geek ? compliquer les choses gratuitement (comme les geek adorent) ?

Reply

Marsh Posté le 31-12-2002 à 17:19:01    

El_Gringo a écrit :

ha... cool, merci.
Et... l'intéret de la méthode geek ? compliquer les choses gratuitement (comme les geek adorent) ?


 
Si tu n'as que des caracteres a convertir : aucune utilite. ^^
 
Le but est juste de voir comment ca marche.


Message édité par phenixl le 31-12-2002 à 17:19:33
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed