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...
|
Tiens c'est exactement le TP que j'ai donne a mes etudiants il y a 2 mois (faire un editeur hexadecimal en java)
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 voici le code, amuses toi bien !
Code :
- /**
- * @see jexdit.util.HexConverter#byteToHexString(int)
- */
- public String byteToHexString(int value) {
- // we keep hi bits of the int reseting the low bits to 0 and bitshifting to the right
- int hi = (value & 0xf0) >> 4;
- // we keep low bits of the int reseting the hi bits to 0
- int low = (value & 0x0f);
- return "" + hexChars.charAt(hi) + hexChars.charAt(low);
- }
- /**
- * @see jexdit.util.HexConverter#hexStringToByte(java.lang.String)
- */
- public byte hexStringToByte(String value) {
- return (byte)Integer.parseInt(value, 16);
- }
|
Note : les noms de methodes ne sont pas tres bien choisis... desole...
Message édité par phenixl le 31-12-2002 à 17:13:28