char zu unsigned char hex
-
Hi ihrs!
Ich möchte gerne einen char-String als hex ausgeben. hex ist ja von 0-255, also unsigned char.
habe folgendes versucht:
char* buffer = "hallo äöü du da!"; for (int i = 0; i < strlen (buffer); ++i) printf ("\\x%02x", buffer[i]);
Das ist die Ausgabe:
\x68\x61\x6c\x6c\x6f\x20\xffffffe4\xfffffff6\xfffffffc\x20\x64\x75\x20\x64\x61\x21
Die Umlaute sind irgendwie gar nicht 0-255, obwohl da eigentlich laut diesem FAQ-Eintrag sowas rauskommen müsste:
http://c-plusplus.net/forum/viewtopic-var-t-is-39326.htmlä = \x84
ö = \x94
ü = \x81jemand eine idee wie ich den string in unsigned char hexadecimal umwandeln kann?
-
^^versuch mal mit nem 'unsigned' vor deinem 'char *buffer =...'
-
Notfalls so:
printf ("\\x%02x", buffer[i] & 0xff);