utf8togb2312 跨平台

#include<iconv.h> 
#include <stdio.h>

#include<iconv.h>
using namespace std;
int utf8togb2312(const char *sourcebuf,size_t sourcelen,char *destbuf,size_t destlen) {   

iconv_t cd;   

if( (cd = iconv_open("gb2312","utf-8")) ==0 )     

      return -1;  

memset(destbuf,0,destlen);   

const char **source = &sourcebuf;   

char **dest = &destbuf;
if(-1 == iconv(cd,source,&sourcelen,dest,&destlen))     

     return -1;   

iconv_close(cd);   

return 0;   

}
int gb2312toutf8(const char *sourcebuf,size_t sourcelen,char *destbuf,size_t destlen) {   

iconv_t cd;   if( (cd = iconv_open("utf-8","gb2312")) ==0 )     

return -1;   memset(destbuf,0,destlen);   

const char **source = &sourcebuf;   

char **dest = &destbuf;
  if(-1 == iconv(cd,source,&sourcelen,dest,&destlen))     

return -1;   

posted on 2018-11-06 16:59 sheng 阅读(325) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

常用链接

留言簿(1)

随笔档案

收藏夹

同行

搜索

最新评论

阅读排行榜

评论排行榜