Veröffentlicht 4. Mai 200817 j hallo. ich hab jetzt schon einige zeit gesucht, aber irgendwie immer nur sachen gefunden, die bei mir nicht so recht funktioniert haben. folgendes problem: ich will einen String in ein wchar_t umwandeln und das so einfach wie möglich. meine c++ kenntnisse halten sich leider sehr in grenzen, deswegen wäre ich euch sehr dankbar, wenn ihr mir mit einem kompletten codebeispiel (incl. aller include anweisungen etc.) helfen könntet. mfg Tobias
5. Mai 200817 j "String" ist etwas unspezifisch. Was genau hast du denn da? Welcher Datentyp? Welche Codierung?
5. Mai 200817 j also, das ganze kommt ursprünglich aus einer java datei, ist also ein jstring. umwandeln kann ich ihn in ein const char *. und daraus muss ich nun ein wchar_t machen.....
6. Mai 200817 j umwandeln kann ich ihn in ein const char *. und daraus muss ich nun ein wchar_t machen.....Damit hätten wir den Typ. Und wie ist der String codiert? Reines ASCII? UTF-8?
6. Mai 200817 j JNIEnv::GetStringUTFChars const jbyte* GetStringUTFChars(JNIEnv *env, jstring string, jboolean *isCopy); Returns a pointer to an array of UTF-8 characters of the string. This array is valid until it is released by ReleaseStringUTFChars(). If isCopy is not NULL, then *isCopy is set to JNI_TRUE if a copy is made; or it is set to JNI_FALSE if no copy is made. Alternativ GetStringChars(), dann hat er es gleich als Unicode. jbyte dürfte simultan zu char sein, von daher dürfte das nichtmal nen Cast benötigen. Und wie man char zu wchar_t macht steht ja oben im Link.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.