J'ai un petit problème au niveau de la conversion (?) de données.
Dans un fichier texte, j'ai une chaine de caractères écrite en hexa de 4 octets (dans mon exemple elle vaut D1FC1285 pour vous l'aurez comprit 0xD1FC1285). Je la récupère dans un tableau de byte de taille 8 qui contient donc dans ses cases 68, 49, 70, 67, 49, 50, 56, 53 dont les cast en char valent respectivement D, 1, F, C, 1, 2, 8, et 5.
C'est ici que mon problème survient car j'ai besoins de transformer ce tableau en un autre tableau de 4 octets dont les valeurs avec cet exemple doivent être égale à 0xD1, 0xFC, 0x12, et 0x85.
Mon idée aurait été de créer une fonction qui prend en paramètre deux caractères (par exemple 68 et 49 pour D et 1) et qui renvoi un byte (ici 0xD1).
Le problème est que je ne sais absolument pas comment faire...
Il y a indubitablement un problème car au lieu de recevoir 0xD1 quand je fais getAsciiToHex(68, 49), je reçois 13; au lieu de 0xFC quand je fais getAsciiToHex(70, 67), je reçois 22; au lieu de 0x12 quand je fais getAsciiToHex(49, 50), je reçois 3; au lieu de 0x85 quand je fais getAsciiToHex(56, 53), je reçois 37. (Je ne l'ai pas mentionné plus tôt mais j'ai aussi rajouté un cast (int) devant chaque caractères entre apostrophes)
Merci brubru777 pour cette indication non peu importante qui à résolu mon problème^^ Voici donc une version du code finale pour ceux que ça intéresserai (on ne sait jamais)
- Edité par TristanHermant 1 juillet 2015 à 9:50:26
byte[] en format ASCII to byte[] en format hex
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Merci d'avance