char nach HEX?
-
Hallo,
ich versuche krampfhaft ein char in einen hex zu wandeln.
Beispiel:
char 'A'
dez = 65
hex = 41Aber 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#2270764Was 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).