linux字符编码转换

/*

from_charset //要转换的编码

to_charset //转换为某某编码

inbuf  //要转换的字符串

inlen  //要转换的长度

outbuf  //输出缓存

outlen  //输出长度

*/

static int code_convert(char *from_charset,char *to_charset,char *inbuf,size_t inlen,char *outbuf,size_t outlen)
{
  iconv_t cd;
  char **pin = &inbuf;
  char **pout = &outbuf;

  cd = iconv_open(to_charset,from_charset);
  if (cd==0)
  return -1;

  memset(outbuf,0,outlen);
  if (iconv(cd,pin,&inlen,pout,&outlen)==-1)
  {
    fprintf(stderr,"iconv error:%s\n",strerror(errno));
    return -2;
  }


  iconv_close(cd);
  return 0;
}

posted @   *^VV^*  阅读(197)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示