bonjour tout le mode,
Comment faire pour transformer un texte (string) en hexadecimal?
Merci !!
bonjour tout le mode,
Comment faire pour transformer un texte (string) en hexadecimal?
Merci !!
Bonjour,
C'est trop vague. Est-ce que tu veux vraiment afficher sous forme hexadécimale le contenu d'un fichier qui contient vraiment du texte, à la manière d'un « dump » ou disposes-tu en fait d'un nombre écrit sous forme hexadécimale qui tu voudrais affecter à une variable ?
Dans le premier cas, en C, le plus simple est d'itérer sur la chaîne et d'utiliser printf pour faire la conversion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include <stdio.h> int main (void) { char const * chaine = "Bonjour"; while (*chaine!='\0') printf ("%02x",(unsigned char)*chaine++); return 0; }Est-ce un devoir scolaire ?426f6e6a6f7572
tu a repondu a ma question![]()
Je débute le codage en c , et je voulais "m'amuser".
Mes devoirs scolaires ne ressemblent pas a cela
Bonjour!
J'ai regarder un peu le code le doe de Obsidian et j'ai un probleme:
dans mon cas , fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 void vFDriverSigfoxHexa( TUCHAR * pucStr, TUCHAR ucSizeStr) { TCHAR *pcNewStr = new TCHAR[ucSizeStr]; TUCHAR *pucOld = pucStr; TCHAR *pcNew = pcNewStr; TINT iBoucle; for( iBoucle=0 ; iBoucle < ucSizeStr ; iBoucle++ ) { sprintf( pcNew , "%02x", ( TUCHAR ) *pucOld++); pcNew+=2; } } void vFDriverSigfoxSendMsg( TCONST TUCHAR * pucByte, TUCHAR ucSize ) { //transformation du message à envoyer en hexa vFDriverSigfoxHexa( (TUCHAR *) pucByte, ( TUCHAR ) strlen(pucByte) ); pucChaineConcat = strcat( ( TCHAR *)"AT$SS=", ( TCONST TCHAR *) pucByte ); // Taille de la chaine "AT$SS=ptByte" concaténée ucSize = ( strlen( "AT$SS" ) + strlen( pucByte ) + 1 ); //Emission du message tSerialStream.uxFTxWrite( pucChaineConcat , ucSize ); }
ca me renvoie:
AT$SS=top%02
Partager