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

cs_akaii 109 Messages postés mardi 10 janvier 2006Date d'inscription 14 février 2014 Dernière intervention - 27 janv. 2006 à 10:12 - Dernière réponse : Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention
- 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 

Votre réponse

8 réponses

Meilleure réponse
Nikoui 794 Messages postés vendredi 24 septembre 2004Date d'inscription 19 août 2008 Dernière intervention - 27 janv. 2006 à 15:41
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...

Merci Nikoui 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de Nikoui
Meilleure réponse
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 27 janv. 2006 à 16:46
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" );

Merci Lutinore 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de Lutinore
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 27 janv. 2006 à 10:27
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
cs_akaii 109 Messages postés mardi 10 janvier 2006Date d'inscription 14 février 2014 Dernière intervention - 27 janv. 2006 à 11:28
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
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 27 janv. 2006 à 11: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
cs_akaii 109 Messages postés mardi 10 janvier 2006Date d'inscription 14 février 2014 Dernière intervention - 27 janv. 2006 à 11:54
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
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 27 janv. 2006 à 11:56
0
Merci
Au temp pour moi, en effet, sous cette forme ca passe



Mx
MVP C#
Commenter la réponse de MorpionMx
cs_akaii 109 Messages postés mardi 10 janvier 2006Date d'inscription 14 février 2014 Dernière intervention - 27 janv. 2006 à 12:02
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.