ASCII in UFT8 -> In Visual Studio 2013
-
Moin
ich hab ein problem...
ich hab ein
CString test="test€";
und will dies in UTF-8 umwandeln...
Ich hab es bisher in Ascii Hex umgewandelt benötige nun aber UTF-8 Hexalso
Ascii Hex "test€" -> "74 65 73 77 80"
Soll in
UFT-8 Hex umgewandelt werden.
Ich hab keine richtige idee wie ich das anstellen soll...
Im Inet steht viel (google) aber so was wirklich richtiges hab ich net gefunden
könnte mir da jemand bitte helfen?mfg LT
-
WideCharToMultiByte(CP_UTF8, ...), s. z.B. CString to UTF-8
-
//Umwandlung char * CStringToUTF8_1(CStringW in){ long size = in.GetLength() * 6 + 1; char *out = new char[size]; if (!WideCharToMultiByte(CP_UTF8, 0, in, -1, out, size, NULL, NULL)) { DWORD err = GetLastError(); } return out; } //Aufruf und Ausgabe: void CDruckereinstellung::OnBnClickedBApsVt() { CString test = "test€"; CStringW test1 = test; char * out = CStringToUTF8_1(test1); int buffersize = strlen(out); for (int i = 0; i < buffersize; i++){ CString ausg; ausg.Format("%i: %02x", i, out[i]); AfxMessageBox(ausg); } }
Die Ausgabe ist fast richtig:
74 65 73 74 FFFFFE2 FFFFF82 FFFFFAC
Was haben die 5xF dort zu suchen und wie bekomm ich die weg?
-
Lösung : ausg.Format("%i: %02x", i, (unsigned char)out[i]);
thx für die hilfe
-
Ich könnt mich täuschen, aber wenn ein cast nach
char
eine "konvertierung" in utf-8 ist, dann fress ich nen Besen ...
-
Das leaked...