Wie kann ich einen Hex-String in ein Byte-Array in C konvertieren?
Konvertieren eines Hex-Strings in ein Byte-Array
So konvertieren Sie einen Hex-String variabler Länge wie „01A1“ in ein Byte-Array Es gibt mehrere Methoden, die Sie in Betracht ziehen können:
Verwenden eines Vektors von Zeichen
Der folgende Codeausschnitt zeigt, wie ein Zeichenvektor zum Speichern des konvertierten Byte-Arrays verwendet wird:
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 verwendet eine Hex-Zeichenfolge als Eingabe und durchläuft diese Zeichen paarweise. Jedes Zeichenpaar wird mithilfe der Funktion strtol in ein einzelnes Byte umgewandelt, das die Hex-Zeichenfolge als hexadezimale Darstellung interpretiert und den entsprechenden Dezimalwert zurückgibt. Das resultierende Byte wird dann an den Vektor angehängt.
Verwendung eines Zeichen-Arrays
Alternativ können Sie das Byte-Array in einem Zeichen-Array speichern:
char* HexToBytes(const std::string& hex, int& length) { length = hex.length() / 2; char* bytes = new char[length]; for (unsigned int i = 0; i < hex.length(); i += 2) { std::string byteString = hex.substr(i, 2); bytes[i / 2] = (char) strtol(byteString.c_str(), NULL, 16); } return bytes; }
In diesem Fall übernimmt die Funktion die Hex-Zeichenfolge und eine Ganzzahlreferenz, die die resultierende Länge des Byte-Arrays speichert. Es weist dem Byte-Array dynamisch Speicher zu und füllt es auf ähnliche Weise wie die vektorbasierte Lösung.
Beide Ansätze erzeugen ein Byte-Array, das in eine Datei geschrieben und korrekt als dargestellte Binärdaten interpretiert werden kann durch die ursprüngliche Hex-Zeichenfolge.
Das obige ist der detaillierte Inhalt vonWie kann ich einen Hex-String in ein Byte-Array in C konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert?

GULC: C -Bibliothek von Grund auf neu gebaut

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die?

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher?

eindeutiger Gebrauch und Phrasenfreigabe

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient?

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)?
