通过jni调用c/c+ ,传中文字符串的时候乱码 ,java有什么方法,把java的中文编码转换成c++,再把c++的转换成java吗。
3条回答 默认 最新
- qq_38680668 2018-09-27 02:12关注
java内部是使用16bit的unicode编码( UTF-16 )来表示字符串的,无论中文英文都是2字节;
jni内部是使用UTF-8编码来表示字符串的, UTF -8是变长编码的unicode ,一般asci字符是1字节,中文是3字节;
c/c+ +使用的是原始数据, ascii就是一个字节了, 中文一般是GB2312编码,用两个字节来表示一个汉字。
使用wide char方法实现本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报