34 Stimmen

Wie konvertiert man UTF-8 std::string in UTF-16 std::wstring?

Wenn ich eine UTF-8 std::string wie konvertiere ich sie in UTF-16 std::wstring ? Eigentlich möchte ich zwei persische Wörter vergleichen.

1 Stimmen

0 Stimmen

-1voto

jj1 Punkte 155

Auch diese Seite scheint nützlich zu sein: http://www.codeproject.com/KB/string/UtfConverter.aspx

Im Kommentarbereich dieser Seite finden sich auch einige interessante Vorschläge für diese Aufgabe:

// Get en ASCII std::string from anywhere
std::string sLogLevelA = "Hello ASCII-world!";

std::wstringstream ws;
ws << sLogLevelA.c_str();
std::wstring sLogLevel = ws.str();

Oder

// To std::string:
str.assign(ws.begin(), ws.end());
// To std::wstring
ws.assign(str.begin(), str.end());

Ich bin mir allerdings nicht sicher, ob diese Ansätze gültig sind...

1 Stimmen

Assign() ist ganz sicher nicht der richtige Weg, um UTF-8<->UTF-16 zu konvertieren. Versuchen Sie das nicht zu Hause

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X