linux gb2312 utf8,linux下UTF-8和GB2312之间转换

#include

int UTF8ToGB2312(char* szSrc, size_t iSrcLen, char* szDst, size_t iDstLen)

{

iconv_t cd = iconv_open("gb2312//IGNORE", "utf-8//IGNORE");   // take care of "//IGNORE", it will ignore those invalid code

if(0 == cd)

return -2;

memset(szDst, 0, iDstLen);

char **src = &szSrc;

char **dst = &szDst;

if(-1 == (int)iconv(cd, src, &iSrcLen, dst, &iDstLen))

return -1;

iconv_close(cd);

return 0;

}

int GB2312ToUTF8(char* szSrc, size_t iSrcLen, char* szDst, size_t iDstLen)

{

iconv_t cd = iconv_open("utf-8//IGNORE", "gb2312//IGNORE");

if(0 == cd)

return -2;

memset(szDst, 0, iDstLen);

char **src = &szSrc;

char **dst = &szDst;

if(-1 == (int)iconv(cd, src, &iSrcLen, dst, &iDstLen))

return -1;

iconv_close(cd);

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值