char Array in Byte-String umwandeln
-
Hallo, Ich habe in c++ ein char Array mit folgendem Inhalt:
†dj¢ó˜G¼Fˆüñ2
Mir ist aber nicht genau bekannt welcher Codierung diese entsprechen.
Die Bytes haben folgenden Wert:
86 64 6A A2 F3 98 47 BC 46 88 FC 32 0D A0
Könnt ihr mir vielleicht sagen, welche Codierung das ist? und wie ich das umwandeln kann? danke!
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Das ist Windows-1252. Aber irgendetwas stimmt bei den letzten zwei Zeichen nicht. Das 'ü' entspricht jedenfalls dem "FC".
und wie ich das umwandeln kann?
Wohin?
-
Umwandeln in einen String, welcher die Bytes jeweils hexadezimal relpräsentiert, also:
"86 64 6A A2 F3 98 47 BC 46 88 FC 32 0D A0"
achja und sehr herzlichen Dank für die Hilfe von Grünschnäbeln wie mir, find ich echt klasse!
MfG Wurstgesicht
-
Ungetestet:
std::stringstream byte_stream; for (char *c = dein_char_array; *c; ++c) byte_stream << std::hex << static_cast<unsigned int>(*c) << ' '; std::string ergebnis = byte_stream.str();
Die genaue Formulierung der Schleife hängt davon ab, in welcher Form deine Ausgangsdaten genau vorliegen.