出现这个错误的原因是JNIEnv调用NewStringUTF(charStr)时,会校验charStr是否为标准的UTF-8格式字符串。
调用顺序:NewStringUTF() -> checkUtfString() -> checkUtfBytes()
解决方法有二:
方法一、在调用NewStringUTF(charStr)前,对参数charStr做UTF-8校验。
方法二、修改checkUtfBytes()方法,使其支持4字节以上UTF-8字符串校验。
博客指出JNIEnv调用NewStringUTF(charStr)时,会校验charStr是否为标准UTF - 8格式字符串,若不符合会出现错误。给出两种解决方法,一是在调用前对charStr做UTF - 8校验,二是修改checkUtfBytes()方法,使其支持4字节以上UTF - 8字符串校验。
出现这个错误的原因是JNIEnv调用NewStringUTF(charStr)时,会校验charStr是否为标准的UTF-8格式字符串。
调用顺序:NewStringUTF() -> checkUtfString() -> checkUtfBytes()
解决方法有二:
方法一、在调用NewStringUTF(charStr)前,对参数charStr做UTF-8校验。
方法二、修改checkUtfBytes()方法,使其支持4字节以上UTF-8字符串校验。
6850
2065
961
2011
1548
171
1446

被折叠的 条评论
为什么被折叠?