jni 开发 char*转换成jstring
来源:互联网 发布:云计算安全体系架构 编辑:程序博客网 时间:2024/04/28 07:42
jstring Java_com_example_test_MainActivity_stringFromJNI(JNIEnv* env,jobject thiz) {char *cstr = "马上有钱,哈哈";//定义java String类 strClassjclass strClass = (*env)->FindClass(env,"java/lang/String");//获取java String类方法String(byte[],String)的构造器,用于将本地byte[]数组转换为一个新StringjmethodID ctorID = (*env)->GetMethodID(env,strClass, "<init>", "([BLjava/lang/String;)V");//建立byte数组jbyteArray bytes = (*env)->NewByteArray(env,strlen(cstr));//将char* 转换为byte数组(*env)->SetByteArrayRegion(env,bytes, 0, strlen(cstr), (jbyte*)cstr);// 设置String, 保存语言类型,用于byte数组转换至String时的参数jstring encoding = (*env)->NewStringUTF(env,"GB2312");//将byte数组转换为java String,并输出return (jstring)(*env)->NewObject(env,strClass, ctorID, bytes, encoding);}
===============================================================================================
java 默认的编码格式 为UTF-8; String defaultCharsetName=Charset.defaultCharset().displayName(); 可以获取;
最近发现 :android -----windows => preference => Genenral => workspace => Test file encoding => 此可以选择编码格式;
如果此时设置UTF-8,那么 jstring encoding =(*env)-> NewStringUTF(env,"GB2312");就应该改为"UTF-8";
char* cstr = "马上有钱,哈哈"; 中文内容重新输入,返回给java时就不会乱码;
如果是GBK, 那么 jstring encoding =(*env)-> NewStringUTF(env,"GB2312");就不用改了;
char* cstr = "马上有钱,哈哈"; 中文内容重新输入,返回给java时也不会乱码;
0 0
- jni 开发 char*转换成jstring
- JNI - 如何将 char* 转换成 jstring
- JNI - 如何将 char 转换成 jstring
- jni jstring 、char* 类型的转换
- JNI jstring 和char* 的相互转换
- jni jstring 、char* 类型的转换
- (转)jni jstring 、char* 类型的转换
- JNI中的jstring 、char* 类型转换
- JNI数据类型转换: jstring与char*
- jni jstring 、char* 类型的转换
- jni jstring 、char* 类型的转换
- Android JNI jstring转换成一个c语言的char* 类型
- android JNI调用 - char*与jstring相互转换
- JNI中jstring 与 const char* 相互转换函数
- JNI中jstring 和char* 之间的转换方法
- Android JNI调用 - char*与jstring相互转换
- JNI 入门介绍(jstring与char*的转换)
- JNI 入门介绍(jstring与char*的转换)
- eclipse python + GAE(Google App Engine) 开发环境搭建
- 深度学习读书笔记之RBM
- 算法导论C语言实现: 红黑(red-black tree)
- git学习
- typedef与宏文本替换(#define)之间的区别
- jni 开发 char*转换成jstring
- 日常生活中常用的五星級美國口語句子
- 机器学习与数据挖掘
- [An AC a day]1088_POJ_ACM
- SHELL : expect安装
- struts.xml的加载路径及配置问题
- cocos2dx3.0的触摸优先级和触摸屏蔽问题
- html获取页面大小
- Java数据库编程---Clob