char nach HEX?



  • Hallo,

    ich versuche krampfhaft ein char in einen hex zu wandeln.
    Beispiel:
    char 'A'
    dez = 65
    hex = 41

    Aber wie wandel ich das 'A' in den hex-Wert 41 um???
    Ach ja, leider funktioniert die Suche in diesem Forum bei mir nicht. Er findet einfach nix! Selbst wenn ich nach *Ansi* suche bleibt es ergebnislos. Also bitte nicht xxxxx.

    Danke und Gruß
    Torsten



  • Dezimal, Hex bzw ASCII ist eine Sache der Darstellung (für den Menschen)
    Im Rechner hat alles den selben Wert.

    In C++ gibt es keine Probleme bei

    char c = 0x41;
    int  i = 'A';
    

    da ein Zeichen (zwischen '') auch nur ein int ist.

    Anders sieht es aus, wenn du einen String hast, der die jeweilige Darstellung enthält.

    Wenn du von "41" nach 65 möchtest gibt es z.B. strtol
    Von 'A' nach "41" gibt es genug Ausgabefunktionen die das machen.
    Aber das weisst du ja: http://www.c-plusplus.net/forum/p2270764#2270764

    Was möchtest du genau machen?



  • Hallo DirkB,

    du hast recht. Das sollte ich eigentlich wissen 🙄
    Habe dann mal in meinem alten Projekt geschaut und die Lösung gefunden.

    Ich möchte dir aber noch mitteilen was ich vorhabe. Ich beschreibe RFID-TAG's mit unterschiedlichen Werten/Zeichen. Diese Zeichen müssen als HEX-Wert gereit übermittelt werden. Somit wird aus "Hallo" dann "48616C6C6F".

    BYTE ReadArray[5];
    ReadArray[0] = 'H';
    ReadArray[1] = 'a';
    ReadArray[2] = 'l';
    ReadArray[3] = 'l';
    ReadArray[4] = 'o';
    
    AnsiString  csROCode;
    csROCode.sprintf("%X%X%X%X%X",(int)ReadArray[0],(int)ReadArray[1],(int)ReadArray[2],(int)ReadArray[3],(int)ReadArray[4]);
    

    Vielen Dank... 👍



  • du solltest da doch lieber %02X nehmen, damit die Zahlen immer zweistellig sind.



  • Ist es auch wirklich eine Hexdarstellung die zum Beschreiben nötig ist?

    In vielen Datenblättern wird die Hexdarstellung gewählt, damit der Mensch sie lesen kann.
    Die Übertragung erfolgt trotzdem binär (ohne Umwandlung).


Anmelden zum Antworten