• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            大龍的博客

            常用鏈接

            統計

            最新評論

            跨平臺的java和c的字符轉化,克服中文亂碼問題(ZZ)

            #define   CURRENT_ENCODE   "GBK"  
               
              jstring   CharTojstring(JNIEnv*   env,   char*   str)  
              {  
                              jstring   rtn   =   0;  
                              jsize   len   =   strlen(str);  
               
                              jclass   clsstring   =   env->FindClass("java/lang/String");  
               
                              //new   encode   string   default   "GBK"  
                              jstring   strencode   =   env->NewStringUTF(CURRENT_ENCODE);  
                              jmethodID   mid   =   env->GetMethodID(clsstring,   "<init>",   "([BLjava/lang/String;)V");  
                              jbyteArray   barr   =   env->NewByteArray(len);  
               
                              env->SetByteArrayRegion(barr,0,len,(jbyte*)str);  
               
                              //call   new   String(byte[]   b,String   encode)  
                              rtn   =   (jstring)env->NewObject(clsstring,mid,barr,strencode);  
               
                              return   rtn;  
              }  
               
              char*   jstringToChar(JNIEnv*   env,   jstring   jstr)  
              {  
                              char*   rtn   =   NULL;  
                              jclass   clsstring   =   env->FindClass("java/lang/String");  
               
                              //new   encode   string   default   "GBK"  
                              jstring   strencode   =   env->NewStringUTF(CURRENT_ENCODE);  
                              jmethodID   mid   =   env->GetMethodID(clsstring,   "getBytes",   "(Ljava/lang/String;)[B");  
               
                              //call   String.getBytes   method   to   avoid   incompatible   migrating   into   solaris  
                              jbyteArray   barr=   (jbyteArray)env->CallObjectMethod(jstr,mid,strencode);  
               
                              jsize   alen   =   env->GetArrayLength(barr);  
                              jbyte*   ba   =   env->GetByteArrayElements(barr,JNI_FALSE);  
               
                              if(alen   >   0)  
                              {  
                                              rtn   =   (char*)malloc(alen+1);         //new   char[alen+1];  
                                              memcpy(rtn,ba,alen);  
                                              rtn[alen]=0;  
                              }  
                              env->ReleaseByteArrayElements(barr,ba,0);  
               
                              return   rtn;  
              } 

            posted on 2010-04-25 19:55 大龍 閱讀(830) 評論(0)  編輯 收藏 引用

            久久久一本精品99久久精品66| 久久精品无码一区二区日韩AV| 国产精品无码久久久久| 精品人妻久久久久久888| 久久久久久久精品成人热色戒| 久久久久黑人强伦姧人妻| 国内精品久久久久久久影视麻豆| 久久久久久a亚洲欧洲aⅴ| 久久777国产线看观看精品| 久久精品中文无码资源站| 欧洲成人午夜精品无码区久久 | 怡红院日本一道日本久久| 熟妇人妻久久中文字幕| 久久久久久午夜成人影院| 久久精品九九亚洲精品| 99精品国产在热久久 | 久久亚洲日韩精品一区二区三区| yy6080久久| 中文无码久久精品| 东京热TOKYO综合久久精品| 久久免费小视频| 日韩欧美亚洲综合久久影院Ds| 中文精品久久久久人妻| 三上悠亚久久精品| 亚洲国产成人久久精品影视| 欧美午夜精品久久久久久浪潮| 一本色道久久88综合日韩精品 | 色欲久久久天天天综合网精品 | 99久久婷婷国产综合亚洲| 26uuu久久五月天| 欧美国产成人久久精品| 人妻精品久久久久中文字幕69| 91精品国产综合久久婷婷| 欧美久久久久久精选9999| 中文精品久久久久人妻不卡| 久久91精品国产91久久麻豆| 久久丝袜精品中文字幕| 欧洲精品久久久av无码电影 | 国产叼嘿久久精品久久| 99精品国产综合久久久久五月天| 久久国产精品-久久精品|