Conversion d'un Byte en Hexadecimal [Résolu]

Messages postés
109
Date d'inscription
mardi 10 janvier 2006
Statut
Membre
Dernière intervention
14 février 2014
- - Dernière réponse : Lutinore
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
- 27 janv. 2006 à 16:46
Bonjour,

Tout est dans le titre je dois convertir une chaine de caractère en Byte puis en Hexadecimal j'ai actuellement un tableau de Byte[] contenant les codes ASCII d'une chaine de caractère et je dois la passer à une fonction sous forme Hexadecimal.

String abcd = "You got 1 voicemail";
Byte[] test = System.Text.ASCIIEncoding.UTF8.GetBytes(abcd);
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
7
3
Merci
Il y a quelque chose que je ne comprend pas dans ton problème... ta fonction recois un tableau de Byte. Ce qui compte c'est les valeurs qui sont dedans (des Bytes, donc), pas la facon dont tu les entres dans le tableau.

Un Byte, c'est une variable sur 8bits. tu peux y mettre un nombre entre 0 et 255 :

Byte b = 126;
Byte b = 0x7E;

au final tu as exactement la même chose dans b...
Donc si tu as déjà converti ta chaine en Byte[], c'est ca que tu dois envoyer à ta fonction.

Ou alors je ne comprend pas ce que tu cherches à faire...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Nikoui
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
29
3
Merci
Salut, je rejoins Nikoui,dans tous les cas les bytes sont codés sur 8 bits en binaire.


Peut être que ta fonction attend quelque chose comme ça :


byte[ ] b = System.Text.ASCIIEncoding.UTF8.GetBytes( "21200c013231310048656C6C6F0000" );

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Lutinore
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
40
0
Merci
Salut,
Essaies ceci :


<HR>
foreach (
byte b
in test)
{

Console.WriteLine(b.ToString(
"X"));
}


<HR>


Mx
MVP C#
Commenter la réponse de MorpionMx
Messages postés
109
Date d'inscription
mardi 10 janvier 2006
Statut
Membre
Dernière intervention
14 février 2014
0
Merci
ok je crois que ca me donne bien du hexadecimal mais le truc c'est que dans mon vecteur Byte[] je dois avoir les valeurs en hexadecimal hors la méthode .ToString me retourne un string
Commenter la réponse de cs_akaii
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
40
0
Merci
Le probleme, c'est que dans byte[], tu ne vas pouvoir stocker que des données de type byte donc de 0 a 255, mais toujours sous forme décimale il me semble.
Si tu veux tes valeurs sous forme hexa, il va falloir les stocker dans un string[]

Essaies de jetter un oeil ici


Mx
MVP C#
Commenter la réponse de MorpionMx
Messages postés
109
Date d'inscription
mardi 10 janvier 2006
Statut
Membre
Dernière intervention
14 février 2014
0
Merci
ben en fait j'ai déjà réussi à faire passer ça:
Byte[] msg_hex = { 0x21, 0x20, 0x0c, 0x01, 0x32, 0x31, 0x31, 0x00, 0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x00, 0x00 };
sauf erreur de ma part ce sont des valeurs hexadecimal non?
Commenter la réponse de cs_akaii
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
40
0
Merci
Au temp pour moi, en effet, sous cette forme ca passe



Mx
MVP C#
Commenter la réponse de MorpionMx
Messages postés
109
Date d'inscription
mardi 10 janvier 2006
Statut
Membre
Dernière intervention
14 février 2014
0
Merci
le prob c'est que la fonction a laquelle je dois passer les arguments ne reçoit que un Byte[] où les valeurs sont en hexadecimal, mais là je cherche depuis 1jour et demi et rien à faire je trouve pas de réponse.
Commenter la réponse de cs_akaii