Heim > Backend-Entwicklung > C++ > Wie konvertiere ich einen Hex-String in ein Byte-Array oder Zeichen-Array in C?

Wie konvertiere ich einen Hex-String in ein Byte-Array oder Zeichen-Array in C?

Patricia Arquette
Freigeben: 2024-12-28 05:27:10
Original
257 Leute haben es durchsucht

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

Konvertieren eines Hex-Strings in ein Byte-Array

Im Bereich der Datenverarbeitung ist es oft notwendig, Hex-Strings in Byte-Arrays umzuwandeln um eine effiziente Lagerung und Verarbeitung zu ermöglichen. Bei diesem Vorgang wird jedes Paar hexadezimaler Ziffern in die entsprechende Binärdarstellung übersetzt.

Hex-Zeichenfolge in Zeichenarray konvertieren

Wenn Sie eine Hex-Zeichenfolge in ein Zeichen umwandeln möchten Array können Sie den folgenden Code nutzen:

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;
}
Nach dem Login kopieren

Diese Implementierung nutzt die intrinsische Funktion strtol() effizient aus wandelt Text in Bytes um. Insbesondere ist es in der Lage, jede Hex-Zeichenfolge mit gerader Länge zu verarbeiten.

Beispiel:

std::string hex = "01A1";
auto bytes = HexToBytes(hex);
Nach dem Login kopieren

Dieser Code konvertiert die Hex-Zeichenfolge „01A1“ in ein Zeichenarray mit dem Namen Bytes, die die Binärdaten enthalten. Anschließend können Sie diese Daten in eine Datei schreiben und sie mit hexdump -C untersuchen, um ihre Richtigkeit zu überprüfen.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen Hex-String in ein Byte-Array oder Zeichen-Array in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage