網(wǎng)上找的轉(zhuǎn)UTF8的代碼

···C++
void (*ucnv_convert)(const char *,const char *, char * , int32_t , const char , int32_t,int32_t)=0;

int dllOpencuuc()
{

void* pDL = dlopen("/system/lib/libicuuc.so", RTLD_LAZY); 
ucnv_convert = (void (*)(const char *, const char *, char * , int32_t , const char *, int32_t,int32_t*))dlsym(pDL, "ucnv_convert_44");//ucnv_convert_44(2.3) ucnv_convert_4_2(2.2)

if(pDL)
{
    dlclose(pDL);
}
if(ucnv_convert)
{

    return 1;
}else
{
    ucnv_convert  = (void (*)(const char *, const char *, char * , int32_t , const char *, int32_t,int32_t*))dlsym(pDL, "ucnv_convert_46");//ucnv_convert_44(2.3) ucnv_convert_4_2(2.2) ucnv_convert_46(4.0)

    if(ucnv_convert)
    {

        return 1;
    }
    ucnv_convert  = (void (*)(const char *, const char *, char * , int32_t , const char *, int32_t,int32_t*))dlsym(pDL, "ucnv_convert_4_2");
    if(ucnv_convert)
    {

        return 1;
    }
}

return 0;

}

int GB2312ToUtf8( char *CP, char *inbuf , size_t _in_size , char *outbuf , size_t _out_size )
{

int errcode = 0;  
ucnv_convert("utf-8",CP, outbuf, _out_size, inbuf, _in_size,&errcode); 
if(errcode)
{ 
    return -1;
}
else
{
    return 0;
}

}

int Utf8ToGB2312(char CP,char inbuf, size_t _in_size, char* outbuf, size_t _out_size)
{
int errcode = 0;
ucnv_convert("GBK",CP, outbuf, _out_size, inbuf, _in_size,&errcode);
if(errcode)
{
return -1;
}
else
{
return 0;
}
}
···

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容