色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

android - JNI c語言里的char數組怎么轉成java的char數組?

瀏覽:84日期:2024-02-28 15:48:36

問題描述

java的實體里定義的char[] name JNI定義結構體屬性char[] name將結構體屬性值(中文)傳給java是亂碼,怎么解決?不要讓我改變屬性類型!

問題解答

回答1:

參考一下這篇文章

要先搞清楚兩邊分別是什么編碼。

回答2:

C中的char[]字符串,默認情況下是UTF-8編碼的可以通過JNIEnv的NewStringUTF()函數將C中的char[]字符串轉為Java的字符串,這個函數的簽名為:

jstring NewStringUTF(const char* bytes)回答3:

看個最簡單的例子:

JNIEXPORT jstring JNICALL Java_com_example_gnaix_ndk_NativeMethod_getString(JNIEnv *env, jclass object, jstring str){ //1. 將unicode編碼的java字符串轉換成C風格字符串 const char *buf_name = env->GetStringUTFChars(str, 0); if(buf_name == NULL){return NULL; } int len = strlen(buf_name); char n_name[len]; strcpy(n_name, buf_name); //2. 釋放內存 env->ReleaseStringUTFChars(str, buf_name); //3. 處理 n_name='ro.serialno' char buf[1024]; __system_property_get(n_name, buf); LOGD('serialno : %s', buf); //4. 去掉尾部'0' int len_buf = strlen(buf); string result(buf, len_buf); return env->NewStringUTF(result.c_str());}

標簽: java
相關文章:
主站蜘蛛池模板: 久久久久久免费播放一级毛片 | 在线视频第一页 | 成年网在线观看免费观看网址 | 波多野结衣一级视频 | 久久精品国产第一区二区 | 国产成人18黄网站免费网站 | 香港三级网站 | 最新主播福利视频在线观看 | 最刺激黄a大片免费网站 | 国产欧美精品午夜在线播放 | 国产成人精品一区二区三在线观看 | 日本亚洲免费 | 50岁老女人毛片一级亚洲 | 国产成人午夜性视频影院 | 国产操操 | 在线观看亚洲国产 | 亚洲综合久久综合激情久久 | 男人的天堂精品国产一区 | 亚洲国产精品线观看不卡 | 中日韩一级片 | 黄色a网 | 国产精品国产亚洲精品看不卡 | 亚州一级片| 欧美三级不卡在线观看视频 | 一级做a爰片久久毛片苍井优 | 国产精品嘿咻嘿咻在线播放 | 精品综合久久久久久88小说 | 最新亚洲情黄在线网站无广告 | 日韩精品一区二区三区免费观看 | 免费a级在线观看播放 | 日本精品高清一区二区2021 | 国产久草视频在线 | 国内黄色精品 | 欧美一级高清毛片aaa | 黄色三级理沦片 | 黄在线观看在线播放720p | 欧美最黄视频 | 免费一区二区三区四区 | 2022男人天堂| 久久久久在线视频 | 亚洲国产精品一区二区久久 |