Heim > Backend-Entwicklung > C++ > Wie konvertiere ich Hex-Strings in Byte-Arrays in C?

Wie konvertiere ich Hex-Strings in Byte-Arrays in C?

Linda Hamilton
Freigeben: 2024-12-19 11:03:33
Original
887 Leute haben es durchsucht

How to Convert Hex Strings to Byte Arrays in C  ?

Hex-Strings in Byte-Arrays konvertieren

Bei der Arbeit mit Binärdaten ist es oft notwendig, Hexadezimal-Strings in Byte-Arrays umzuwandeln. Der Hex-String repräsentiert die rohen Binärdaten im Hexadezimalformat. So können Sie diese Konvertierung in C mithilfe einer Hex-Zeichenfolge variabler Länge durchführen.

Um die Hex-Zeichenfolge „01A1“ in ein Byte-Array zu konvertieren, verwenden wir den folgenden Ansatz:

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 Funktion durchläuft die Hex-Zeichenfolge, extrahiert jeweils Zeichenpaare und wandelt sie mithilfe der Funktion strtol() in die entsprechenden Bytes um. Das resultierende Byte-Array wird dann zurückgegeben.

Sobald Sie den Hex-String in ein Byte-Array umgewandelt haben, können Sie ihn in einer Variablen vom Typ char* oder std::vector speichern. wie es Ihre spezifische Anwendung erfordert. Indem Sie das Byte-Array in eine Datei schreiben und den Befehl hexdump -C verwenden, können Sie überprüfen, ob die Daten der ursprünglichen Hex-Zeichenfolge entsprechen.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich Hex-Strings in Byte-Arrays 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