Ich habe eine Zeichenfolge namens str
mit dem Hex-Code 265A
und ich möchte es als Unicode-Zeichen ausgeben, die der schwarze Schachkönig sein sollte.Wie Unicode-Zeichen aus Hex-Zeichenfolge in C++ ausgeben?
So sind diese die Möglichkeiten, wie ich schon versucht:
std::string str = "\u" + str;
std::cout << str;
aber das gibt mir den Fehler
error: incomplete universal character name \u
Doing
std::cout << "\u" << str;
auch nicht funktioniert, für die gleicher Grund. So
Ich versuchte wchar_t
wie folgt aus:
wchar_t wc = strtol(str.c_str(), NULL, 16);
std::wcout << wc;
aber das hat nicht nur eine Ausgabe zu erzeugen.
Also ich weiß wirklich nicht, was ich sonst tun soll.
In welcher Kodierung willst du es? – Biffen
Die ersten beiden funktionieren nicht, weil '\ u 'eine Operation zur Kompilierungszeit und keine Laufzeitoperation ist. Sie müssen mehr Informationen darüber geben, was im dritten Fall passiert. Was ist der Wert von "wc"? Ist es möglich, dass dein 'wcout' diesen Charakter einfach nicht unterstützt? –
Huh, das habe ich nicht gedacht. Ich habe jetzt versucht, mit UTF8 zu codieren, und in Windows bekomme ich seltsame Zeichen, wenn ich 'std :: cout <<" \ u265A "' mache, nämlich '' ''. Ich muss etwas hineinlesen. Aber einige Codierung, die unter Windows funktioniert. @Biffen – kim366