2011-06-16 55 views
0

我有一個用Objective-C編寫的JNI代碼(儘管我相信我在C/C++程序中會遇到同樣的問題),它會將jstring返回給Java代碼。我在「從本地字符串創建Java字符串」部分中使用了char * to jstring轉換,如指定here。我的問題是,在本機端,當傳遞給Java併發送到標準輸出時,字符串是正確的(即,本地字符串在標準輸出中正確顯示),我得到'?'爲非英文字符。將unicode字符從本機轉換爲Java的問題

感謝

+0

您的控制檯可能無法正確顯示字符。你應該打印出實際的字符代碼來確定你的字符是否正確。特別是,UTF-16BE的 – jtahlborn 2011-06-16 20:22:59

回答

1

Java中的字符串是UTF-16編碼,你需要採取字節順序考慮。

+1

。 – jtahlborn 2011-06-16 20:21:12