2019独角兽企业重金招聘Python工程师标准>>>

用linux C 下的函数调用创建中文目录、文件等,字符串的编码格式要求是utf-8格式的。

那么如果linux C下如何进行gbk<---->utf-8编码转换的编码装换的?使用的是iconv函数簇。

#include <iconv.h>int code_convert(char *from_charset,char *to_charset,char *inbuf,int inlen,char *outbuf,int outlen)
{iconv_t cd;int rc;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)return -1;iconv_close(cd);return 0;
}int u2g(char *inbuf,int inlen,char *outbuf,int outlen)
{return code_convert("utf-8","gb2312",inbuf,inlen,outbuf,outlen);
}int g2u(char *inbuf,size_t inlen,char *outbuf,size_t outlen)
{return code_convert("gb2312","utf-8",inbuf,inlen,outbuf,outlen);
}

?

iconv函数族的头文件是iconv.h,使用前需包含之。

#include <iconv.h>

?iconv函数族有三个函数,原型如下:

iconv_t iconv_open(const char *tocode, const char *fromcode);

此函数说明将要进行哪两种编码的转换,tocode是目标编码,fromcode是原编码,该函数返回一个转换句柄,供以下两个函数使用。

?

size_t iconv(iconv_t cd,char **inbuf,size_t *inbytesleft,char **outbuf,size_t *outbytesleft);

此函数从inbuf中读取字符,转换后输出到outbuf中,inbytesleft用以记录还未转换的字符数,outbytesleft用以记录输出缓冲的剩余空间。

?

int iconv_close(iconv_t cd);

此函数用于关闭转换句柄,释放资源。

转载于:https://my.oschina.net/u/1537782/blog/323428

Linux C gbk utf-8编码转换相关推荐

  1. bee 字符串转int_beego中gbk和utf8编码转换问题

    beego中gbk和utf8编码转换问题,这个问题非常重要,有时候从gbk采集过来转成utf8也非常重要. func Get_cate_urls(url string) (map[int]string ...

  2. php文件在线编码转换,gbk编码在线转换_php汉字转码 GBK到Big5编码转换

    摘要 腾兴网为您分享:php汉字转码 GBK到Big5编码转换,月星家居,永辉生活,一点开,幸福钱庄等软件知识,以及酷我音乐车机,爱情电影网影音,杜比音效,微信制作宣传广告,dolbyadvanced ...

  3. C语言实现gbk/utf8/unicode编码转换

    细说:Unicode, UTF-8, UTF-16, UTF-32, UCS-2, UCS-4 Unicode与UTF-8互转(C语言实现) 不依赖任何系统API,用c语言实现gbk/utf8/uni ...

  4. Qt4工作笔记-Linux中Qt4.8.6在GBK和UTF-8编码转换

    目录 基本概念 代码与实例 基本概念 背景是这样的.目前在本人开发的系统里面,有几个程序. 使用Qt管理(通过pro文件,生成Makefile,姑且称为Qt管理把)的后台进程,读取关系型数据库的数据后 ...

  5. 不依赖任何系统API,用c语言实现gbk/utf8/unicode编码转换

    转载地址:https://blog.csdn.net/bladeandmaster88/article/details/54837338 汉字'我' Unicode编码是0x6211       01 ...

  6. JS中utf8和GBK的字符编码转换

    1.PHP中的 json_encode 函数只限编码UTF-8的数据,当转换GBK或者GB2312等编码的数据时,会将汉字转为NULL. 2.JavaScript 中json 的使用: ① 将对象转为 ...

  7. linux 繁体中文转为简体,Linux下对文件进行编码转换(简体→繁体,繁体→简体,简体繁体→UTF-8)...

    其实说到编码转换,那就不得不说到iconv这个库了,如果已经安装了这个工具,那在命令行下直接打这个命令就行了.下面就用这个工具来实现中文系统下的常用编码转换. 首先,来了解一下iconv这个命令的使用 ...

  8. c++之gbk和utf8编码转换

    1.gbk转换成utf8 void GBKTOUTF8(string& strGBK)//转码 GBK编码转成UTF8编码 {int len = MultiByteToWideChar(CP_ ...

  9. php文件在线编码转换,php汉字转码 GBK到Big5编码转换

    php如何实现汉字编码转换,有关php汉字转码的例子. 有两点要注意: 1,GBK的繁体字并不是Big5,但一般繁体字都有对应的Big码. 2,一GBK码并不一定有对应的Big5码,所以一般是不可逆转 ...

  10. oracle数据库 gbk,oracle 数据库编码转换(转GBK) | 学步园

    查看oracle数据库字符集: select userenv('language') from dual; SQL> shutdown immediate Database closed. Da ...

最新文章

  1. 网页图片左右滚动特效实例
  2. PMBOK7和PRINCE2的相似之处和定位之不同(上篇)
  3. 制作 小 linux 教程,用BusyBox制作Linux最小系统
  4. 人工智能时代,Python编程就业方向那么广,我该如何选择?
  5. Python连接telnet客户端连接服务端程序
  6. WinDbg常用命令For Kernel Debug
  7. 祝愿父亲节里的父亲们快乐!
  8. 区块链 常用词汇定义
  9. OSPF的多域配置-要点总结
  10. 《自己动手写网络爬虫》笔记3-宽度优先遍历互联网
  11. 2020 iOS拼多多(多多进宝)APP端接入,打开拼多多商品详情与授权
  12. android 打apk文件怎么打开方式,apk文件怎么打开,详细教您打开apk文件的方法
  13. Pandas之Series和DateFrame详解
  14. 超市库存管理系统 代码
  15. 计算机播放声音时进行模数转换,音频的基础知识.ppt
  16. 什么是网络——计算机网络发展史
  17. 如何跨网段访问计算机名,伪装IP进行跨网段访问
  18. java自定义注解及其使用
  19. ffmpeg pts dts
  20. SqlServer case when 判断成绩选择案例,龙套薪水嘛

热门文章

  1. 什么叫组网_5G NSA和SA是什么?有什么不同?
  2. shardingjdbc全局表_sharding-jdbc实现按年分库按月分表
  3. 零基础学怎么学Java_零基础学java难么?怎么自学?
  4. RT-Thread智能车培训计划-2021
  5. 恩智浦AI视觉组之逐飞岁末彩蛋
  6. 新车模、新舵机、新体验
  7. AD8606跟随器与倍乘电路模块
  8. python刷新cdn_api 刷新是什么-和api 刷新相关的问题-阿里云开发者社区
  9. c# out原理 ref_3-Unity入门学习之C#基础2「数据类型」
  10. 驱动操作硬件的根本操作