UnicodeString zu char * (mit Codepage-Konvertierung)
-
Hallo,
ich versuche seit Tagen die Funktionen einer DLL zu nutzen, schaffe es aber nicht. Diese DLL soll Japanische Zeichen in unser Alphabet (Aussprache) umwandeln.
Es wird ein char* mit der Codierung "Shift-JIS" oder "EUC-JP" erwartet und gleiches als Ergebnis auch zurückgeliefert. Ich muss also von Unicode nach char* (SJIS) wund wieder zurück nach Unicode.Die DLL erwartet folgenden Aufruf (aus der .h-Datei):
char *kakasi_do PARAMS((char *str));
Ich schaffe es aber leider nicht aus einem UnicodeString ein char * mit der richtigen Codepage zu machen, ja noch nicht mal aus einem AnsiString<20932>...
Ich habe unter den Projektoptionen beim Radstudio 2009 - Compiler->Erweitert bereits die Codeseite 20932 eingetragen.
//UTF8String utf8 = "<japanische Zeichen hier>"; //WideString nn=L"<japanische Zeichen hier>"; //nn.c_bstr() AnsiStringT<20932> sjis = L"<japanische Zeichen hier>"; ShowMessage(sjis); //noch echte japanische Zeichen char* dst =sjis.c_str(); char* sepStrSJ = NULL; ShowMessage(dst); //hier schon Schrott sepStrSJ=kakasi_do(dst); ShowMessage(sepStrSJ);//hier auch Schrott, aber anderer Schrott; irgendwas hat die DLL gemacht.
Hier schreibt jemand, dass er dass im c++ builder schonmal geschafft hat, verschweigt aber leider woher er die Funktion "CodePageConverter::fromUnicode" hat...
http://stackoverflow.com/questions/6442397/japanese-to-romaji-with-kakasiKann mir jemand sagen was ich falsch mache?
Grüße
RobinPS:
Wieso kann ich eigentlich trotz "Passwort vergessen" und neuem Passwort nicht ins Forum einloggen?
-
Hallo,
hat sich erledigt, ich dämlicher Flanders hatte doch glatt vergessen, das Ganze wieder zurück in Unicode zu verwandeln....
[...] AnsiStringT<20932> ende(sepStrSJ); ShowMessage(ende);
Grüße
Robin