用iconv实现的gb18030到utf-8的编码转换

转载 2011年01月18日 15:30:00

因为最近写了一个用来更新postgresql数据库内容的C++程序,而postgresql使用的是UTF-8的编码,所以需要做编码转换,当然就想到了iconv,就写了一个函数。在Redhat  AS3上调试通过。

string gb18030_to_utf_8(const string &src)

 string re; 
 const char *sfrom = src.c_str(); 
 
 size_t   slen = strlen(sfrom);
 if (slen > (size_t)800)
 {
  slen = 800;
 }
 iconv_t cd;
 if((cd = iconv_open("UTF-8", "GB18030")) < 0)
     return re;
 char *sin  = (char *)sfrom;
 char sto[800]={0}; 
 char *dout = sto; 
 size_t  dlen = 800;
 if(iconv(cd, &sin, &slen, &dout, &dlen) < 0)
        return re;
    iconv_close(cd);
    re = sto;
    return re;
}

 

From : http://blog.csdn.net/zhaoweikid/archive/2005/03/03/308676.aspx

iconv字符编码转换全攻略

iconv(http://www.gnu.org/software/libiconv/)是一个开源的字符编码转换库,可以“方便”的完成几乎所有的编码转换工作。说简单是因为,它常用的接口就三个,icon...
  • veryhehe2011
  • veryhehe2011
  • 2014年04月09日 15:30
  • 14776

iconv C++ 实现 字符 (语言) 编码 转换

iconv是linux超强的字符编码转换工具,其提供命令行和源码两种方式可以使用。 在windows下如果想用,可能需要通过mingw , 一个可能的组合是mingw + code::blocks +...
  • hackerlank
  • hackerlank
  • 2016年11月29日 06:32
  • 1075

c语言使用iconv函数实现字符编码转换

c语言使用iconv函数实现字符编码转换 linux下提供了iconv库来实现字符编码转换,先介绍下命令行: iconv [-f encoding] [-t encoding] [inputfile ...
  • gwq5210
  • gwq5210
  • 2014年12月29日 12:57
  • 3119

UTF-8和中文字符编码(GB2312、GBK、GIB5、GB18030)的识别

1、编码方式介绍 了解一种字符集编码主要是要了解该编码的编码范围,编码对应的字符集(都包含哪些字符),和其他字符集编码之间的关系等。 ASCII ASCII码是7位编码,编码范围是0...
  • u013093948
  • u013093948
  • 2016年01月18日 11:34
  • 2450

PHP iconv()字符编码转换的问题

在php函数库有一个函数:iconv(),iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库。最近在做一个小偷程序,需要用到iconv函数把抓取来过的utf-8编码的页面转...
  • tashanhongye
  • tashanhongye
  • 2015年12月17日 20:47
  • 699

用iconv 文件格式转换

Windows转到linux中,文件乱码,文件编码转换
  • li0524158198
  • li0524158198
  • 2014年10月30日 23:46
  • 450

批量修改文本文件编码GB18030为UTF-8

[root@localhost Desktop]# ./digui-gb18030-utf8.sh experimentdigui-gb18030-utf8.sh 文件内容如下:#!/bin/shea...
  • ztguang
  • ztguang
  • 2016年03月30日 10:32
  • 1408

Linux iconv --字符编码转换工具

用途说明 iconv命令是用来转换文件的编码方式的(Convertencoding of given files from one encoding to another),比如它可以将UTF8编码的...
  • mosesmo1989
  • mosesmo1989
  • 2016年04月08日 10:17
  • 489

使用iconv进行GBK到BIG5编码转/简繁转换遇到的问题

Linux操作系统中的iconv命令/函数可以将一种已知的字符集文件转换成另一种已知的字符集文件。 在使用它进行GBK到BIG5的编码转换时,遇到"iconv:illeagal input seque...
  • littlefang
  • littlefang
  • 2015年02月27日 10:56
  • 3895

libIconv库实现中文中字符串与GBK、Unicode、UTF-8三种编码互转

libIconv库实现GBK、Unicode、UTF-8三种编码互转比window api更为简单,而且libIconv库跨平台。 IibIconv库在windows下的编译参照windows下使用V...
  • bladeandmaster88
  • bladeandmaster88
  • 2017年02月01日 23:32
  • 2291
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用iconv实现的gb18030到utf-8的编码转换
举报原因:
原因补充:

(最多只允许输入30个字)