嵌入式 安裝 字元編碼轉換 libiconv庫
阿新 • • 發佈:2019-02-06
/************************************************************************/
/* src:原編碼 UTF-8 UTF-16 GBK */
/* deec:要轉換的編碼 UTF-8 UTF-16 GBK*/
/* input:傳入的字串 ilen:傳入的字串長度*/
/* output:轉換後的字串 olen:轉換的最大長度*/
/************************************************************************/
int covert(char *src, char *desc, char *input, size_t ilen, char *output, size_t olen)
{
char **pin = &input;
char **pout = &output;
iconv_t cd = iconv_open(desc, src);
if (cd == (iconv_t)-1)
{
return -1;
}
memset(output, 0, olen);
if (iconv(cd, pin, &ilen, pout, &olen)) return -1;
iconv_close(cd);
return 0;
}
/* src:原編碼 UTF-8 UTF-16 GBK */
/* deec:要轉換的編碼 UTF-8 UTF-16 GBK*/
/* input:傳入的字串 ilen:傳入的字串長度*/
/* output:轉換後的字串 olen:轉換的最大長度*/
/************************************************************************/
int covert(char *src, char *desc, char *input, size_t ilen, char *output, size_t olen)
{
char **pin = &input;
char **pout = &output;
iconv_t cd = iconv_open(desc, src);
if (cd == (iconv_t)-1)
{
return -1;
}
memset(output, 0, olen);
if (iconv(cd, pin, &ilen, pout, &olen)) return -1;
iconv_close(cd);
return 0;
}