Heim >Backend-Entwicklung >C++ >Wie konvertiere ich einen Hex-String in ein Byte-Array oder Zeichen-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; }
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);
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!