Conversion d'une chaîne hexadécimale en tableau d'octets
Dans le domaine de la gestion des données, il devient souvent nécessaire de convertir des chaînes hexadécimales en tableaux d'octets pour faciliter un stockage et un traitement efficaces. Ce processus consiste à traduire chaque paire de chiffres hexadécimaux dans leur représentation binaire correspondante.
Conversion d'une chaîne hexadécimale en tableau de caractères
Si vous souhaitez convertir une chaîne hexadécimale en caractère array, vous pouvez exploiter le code suivant :
std::vector<char> HexToBytes(const std::string& hex) { std::vector<char> bytes; for (unsigned int i = 0; i < hex.length(); i += 2) { std::string byteString = hex.substr(i, 2); char byte = (char) strtol(byteString.c_str(), NULL, 16); bytes.push_back(byte); } return bytes; }
Cette implémentation capitalise sur la fonction intrinsèque strtol() qui transforme efficacement le texte en octets. Notamment, il est capable de gérer n'importe quelle chaîne hexadécimale de longueur paire.
Exemple :
std::string hex = "01A1"; auto bytes = HexToBytes(hex);
Ce code convertit la chaîne hexadécimale "01A1" en un tableau de caractères nommé octets contenant les données binaires. Par la suite, vous pouvez écrire ces données dans un fichier et les examiner à l'aide de hexdump -C pour valider leur exactitude.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!