jni接口NewStringUTF崩溃

转载  原文 https://blog.csdn.net/churuxu/article/details/49999575java

 

ndk开发中,将c/c++的UTF8编码的字符串转换成java字符串,使用了NewStringUTF接口。


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


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

 

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


解决方法:.net

先将UTF8编码的字符串转成UTF16编码,再调用jni的NewString接口。htm

http://developer.51cto.com/art/201112/310128.htmblog

相关文章
相关标签/搜索