Maison > développement back-end > C++ > Comment convertir une chaîne hexadécimale en tableau d'octets ou en tableau de caractères en C ?

Comment convertir une chaîne hexadécimale en tableau d'octets ou en tableau de caractères en C ?

Patricia Arquette
Libérer: 2024-12-28 05:27:10
original
208 Les gens l'ont consulté

How to Convert a Hex String to a Byte Array or Character Array in C  ?

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;
}
Copier après la connexion

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);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal