Char in Hex umwandeln



  • Hallo!

    Ich habe folgendes Problem:

    In einem char array befindet sich folgendes:
    [A700B001]

    ich möchte diese Zeichen in ein Byte Array einordnen in der Art
    {0xA7, 0x00, 0xB0, 0x01}

    Ich muss also jeweils zwei Zeichen aus dem char array nehmen und zu einem Hex-Wert zusammenfassen.

    Wie kann man das schaffen? Gibt es Funktionen in C dafür?

    Dirk



  • Wenn es um das Umwandeln von Hexwerten als String in eine Ganzzahl geht, dann verwende einfach sscanf(). Das wurde allerdings schon vielfach hier gefragt und beantwortet. Wahrscheinlich stehts sogar schon in der FAQ (weiß ich zwar nicht sicher, aber es ist naheliegend ;)).



  • Es ist folgendes:

    Eigentlich braucht man "nur" zwei aufeinanderfolgende Zeichen des char arrays nehmen und davor ein "0x" setzen.

    Bsp.:

    [A700] im char array

    char string[2] = "0x";

    "0x + A + 7" --> "0xA7"

    Ich weiß nicht, wie man dass in C machen kann.

    Dirk



  • Was willst du jetzt?

    Einen String mit Hexadezimalzahlen hintereinander in ...

    1. einen String-Array aufsplitten, bei dem alle zwei Zahlen im Ausgangsstring mit einer 0x davor hinterlegt sind.

    Oder

    2. ein Zahlen-Array (z. B. Integer) aufsplitten, bei dem alle zwei Zahlen im Ausgangsstring in eine Zahl umgewandelt werden.


Log in to reply