jni接口NewStringUTF崩溃

来源:互联网 发布:mede2000数据库卸载 编辑:程序博客网 时间:2024/06/05 01:52
ndk开发中,将c/c++的UTF8编码的字符串转换成java字符串,使用了NewStringUTF接口。


当字符串中包含emoji字符时,在有些手机上正常,有些手机会崩溃。


logcat错误信息类似:
NewStringUTF input is not valid Modified UTF-8


emoji字符utf8编码占用4个字节,有些手机下,NewStringUTF验证有效性会认为是错误的UTF8编码。


解决方法:
先将UTF8编码的字符串转成UTF16编码,再调用jni的NewString接口。
0 0
原创粉丝点击