linux下iconv编码转换的用法
一共需要三步:
1. iconv_t iconv_open(const char *tocode, const char *fromcode); //用这个函数获得句柄(iconv类型的返回值) 参数:tocode是转换后的编码类型,fromcode是转换前的编码类型
编码类型有很多根据自己实际需要填参数,具体参考
http://baike.baidu.com/link?url=k-wJ-x9owO4oF_jnMAfKlf6ojNrzHbBAjPAJV-GEKvs8i2YUYOfIWJwXZvByxreMlnSEnhgK6kIDFvY4Gce8eK
2.size_t iconv(iconv_t cd,char **inbuf,size_t *inbytesleft,char **outbuf,size_t *outbytesleft); //使用这个函数就可以进行转换 参数:cd就是第一个函数获得的句柄,inbuf是转换前的字符串,inbytesleft是转换前字符串长度,outbuf是用来存放转换后的字符串,outbytesleft是用来存放转换后字符串的长度
3.int iconv_close(iconv_t cd); //释放资源
举个例子
如题:把 utf8编码的 “北京天安门” 转换为 gb2312编码的 “北京天安门”
int main()
{
char buf[20] = "北京天安门";
int buflen = sizeof(buf);
char buffer[20];
int bufferlen;
iconv_t cd;
cd = iconv_open("GB2312", "UTF-8"); //这里就是想要转换的编码类型,例中是UTF-8 -> GB2312
iconv(cd, &buf, &buflen, &buffer, &bufferlen);
iconv_close(cd);
return 0;
}
linux下iconv编码转换的用法相关推荐
- linux下字符编码转换
2019独角兽企业重金招聘Python工程师标准>>> 关于字符编码: 字符编码笔记:ASCII,Unicode和UTF-8: http://www.ruanyifeng.com/b ...
- linux修改文件名为gbk,Linux下文件名编码转换-Convmv
背景 由于服务器环境默认字符编码为gbk,当执行程序后生成的日志文件名的字符编码为gbk的,但是程序读取日志的时候用的utf-8编码,当日志文件名包含中文时就不能找到日志,于是可以用Convmv来批量 ...
- 使用iconv命令轻松实现linux下字符集编码的转换
昨天晚上郎师兄打电话说,我的结果文件他打开是乱码,问我是不是字符编码没处理好.早晨早早的来到实验室,请教了下同学,才知道linux shell 配置文件中默认的字符集编码为UTF-8 .UTF-8是u ...
- linux下iconv()函数的用法
linux shell 配置文件中默认的字符集编码为UTF-8 .UTF-8是unicode的一种表达方式,gb2312是和unicode都是字符的编码方式,所以说gb2312跟utf-8的概念应该不 ...
- linux下文件编码的查看与转换(转)
通常来说,Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8,所以Linux下打开windows的文件会有乱码的情况.另外,有时要将文件进行编码转换,如将简体中文转 ...
- Linux下 ls 命令的高级用法8例
Linux下 ls 命令的高级用法8例 在Linux下,ls这个命令大家肯定太熟悉了,良许相信只要是Linux工程师,每天都会离不开这个命令,而且一天会使用个几百次.但是,除了 ls -l 以外,你还 ...
- linux上p图工具,Linux下的图片转换工具ImageMagick
最近需要用到一些Linux下图片格式转换的内容,网上找到了这款ImageMagick的软件,提供的功能很多,支持png,jpg,gif,pdf等许多种图片格式的互相转换,而且开源,使用起来非常方便. ...
- linux访问工具图标,linux上的编码转换工具iconv,enca,convmv
1.iconv - 文本文件内码转换 $ iconv --help 用法: iconv [选项...] [文件...] 转换给定文件的编码. 输入/输出格式规范: -f, --from-code=名称 ...
- linux 字符集转换命令,Linux下GBK编码到UTF-8文件编码转换方法
Linux命令行下查看看文件的编码 enca 文件名 Linux文件名编码批量转换 convmv -f 源编码 -t 新编码 [选项] 文件名 常用参数: -r 递归处理子文件夹 --notest 真 ...
最新文章
- 利用epoll写一个迷你的网络事件库
- iOS-SDPhotoBrowser
- 如何对付“新垃圾邮件”?
- SAP Spartacus 如何使用 cypress 进行端到端自动化测试
- 做技术的,这些观点真的扯淡!
- YBTOJ危桥通行洛谷P3163:危桥通行(网络流)
- 【渝粤教育】广东开放大学 嵌入式数据库 形成性考核 (48)
- JNI通过线程c回调java层的函数
- yum install 失败
- 1013 数素数 (20分)
- 最受欢迎的5大Linux发行版
- Zookeeper启动闪退可能原因及解决方案
- JAVA利用google的zxing解析二维码QRCODE
- (转载)Android content provider基础与使用
- python函数语法学习
- 到底工资要多少合适?
- Android 使用View绘制文字(DrawText)技术总结
- idea 格式化代码怎么才能不格式化代码注释?
- System x 服务器制作ServerGuide U盘安装Windows Server 2012 R2操作系统
- 数字签名的生成和验证
热门文章
- 软件设计师习题笔记-重点习题三
- php 规则配置,模块Config配置规则
- 如何移植mysql数据库_如何把本地MySql数据库移植到远程服务器上
- android 数据回传代码,安卓向.net core api传输图片,执行保存到数据库命令后返回400错误代码,用postman测试没有问题安卓程序不行...
- 文字 竖排居中_学会了这几招,瞬间就搞定PPT文字排版问题!
- 供应链 信用管理 大数据_智慧供应链大数据技术架构方案(ppt)
- wms仓储系统培训_WMS系统在仓储管理中产生的盈利
- php程序内存空间,php如何管理内存
- android audit2allow工具使用步骤
- AE学习笔记——第二章:AE图层中的图层用法及基本操作