2011-06-16 31 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