Comment pouvez convertir en hexadécimal à la chaîne? C++
J'ai un tableau de caractères hexadécimaux et j'ai besoin de les convertir en string.
mon tableau:
//declaration
unsigned char HEX_bufferMessage[12];
//initialize
HEX_bufferMessage[0] = 0xF0;
HEX_bufferMessage[1] = 0x15;
HEX_bufferMessage[2] = 0x31;
HEX_bufferMessage[3] = 0x02;
HEX_bufferMessage[4] = 0x03;
HEX_bufferMessage[5] = 0x00;
HEX_bufferMessage[6] = 0x00;
HEX_bufferMessage[7] = 0xD1;
HEX_bufferMessage[8] = 0xD1;
HEX_bufferMessage[9] = 0x00;
HEX_bufferMessage[10] = 0x00;
HEX_bufferMessage[11] = 0xF7;
Je n'ai que ces informations dans le format hexadécimal, j'ai besoin de les convertir en chaîne de caractères. Quelqu'un sait comment je peux faire??
Merci!!!!!
- Une fois de plus,
std::stringstream
. - Veuillez noter que
HEX_bufferMessage
n'est pas "un tableau de caractères hexadécimaux", c'est un tableau deunsigned char
. L'hexadécimal est juste une notation, quelque chose utilisé pour représenter un nombre à l'extérieur. Dans la mémoire, les nombres sont stockés en binaire. Vous pourriez faireHEX_bufferMessage[0] = 240;
et ainsi de suite et ont exactement le même résultat en mémoire.
Vous devez vous connecter pour publier un commentaire.
La fin de la partie, mais toutes les réponses à l'aide de
std::to_string()
échoue en sortie les valeurs hexadécimales comme hex valeurs, je vous suggère de les envoyer à un ruisseau, où vous pouvez formater votre sortie viastd::hex
:ou, si vous voulez l'utiliser dans une chaîne de caractères:
ou même en une seule ligne:
Utilisation :
std::to_string
http://en.cppreference.com/w/cpp/utility/bitset/to_string
Comment sur
std::to_string
?Comme
quelque chose comme cela?
J'aurais mis cela comme un commentaire, mais malheureusement je n'ai pas assez de points encore.
Une recherche rapide sur google et j'ai trouvé ce lien: C++ convertir en chaîne hexadécimale d'entiers signés
hex_stoi()
mais pourto_hex_string()
.