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; }
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
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!