iconv在LINUX命令的应用与iconv函数的使用

1.iconv - 字符集转换
man手册中iconv命令用法如下:
总览:

iconv [-f encoding] [-t encoding] [inputfile]

描述:
iconv程序把文本从一种编码格式转换为另一种编码格式,比如它可以将UTF8编码的转换成GB18030的编码,反过来也行。

输入/输出格式规范:

-f, --from-code=名称 原始文本编码
-t, --to-code=名称 输出编码

信息:
-l, --list 列举所有已知的字符集

输出控制:
-c 从输出中忽略无效的字符
-o, --output=FILE 输出文件
-s, --silent 关闭警告
–verbose 打印进度信息
下所示:
格式:
iconv -f from-encoding -t to-encoding inputfile
上面的调用方式,会把输出打印在屏幕上,如果要输出到文件,可以像下面这样
格式:
iconv -f from-encoding -t to-encoding inputfile -o outputfile
示例:下面的命令是将一个utf8编码的文件转换为一个unicode编码的文件

iconv -f utf-8 -t unicode utf8file.txt> unicodefile.txt
  1. 函数接口
    iconv函数族的头文件是iconv.h,使用前需包含之。
#include <iconv.h>

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

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

iconv_open函数
iconv_open——申请一个字符集转换的描述符
描述:conv_open()函数申请一个转换描述符,转换字符序列从编码fromcode到编码tocode
转换描述符包含转换状态,调用iconv_open创建以后,转换状态处于初始状态,调用iconv函数以后改变转换描述符的转换状态,(意味着转换描述符不能在多线程中同时使用)
返回值:
iconv_open函数返回一个新申请的转换描述符,出错时,返回(iconv_t)-1;
此函数说明将要进行哪两种编码的转换,tocode是目标编码,fromcode是原编码,该函数返回一个转换句柄,供以下两个函数使用。

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

此函数从inbuf中读取字符,转换后输出到outbuf中,inbytesleft用以记录还未转换的字符数,outbytesleft用以记录输出缓冲的剩余空间。
注意:inbuf和outbuf都必须是有存储空间的不能定义为常量,如:char *inbuf = “abc” 或者是char *outbuf = "123"这样定义都是错误的。另外inbuf,inbytesleft,outbuf,outbytesleft这几个参数在使用过程中都会改变,最好是先保存一下原值,然后再使用

int iconv_close(iconv_t cd);

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

iconv命令与函数相关推荐

  1. 使用iconv命令轻松实现linux下字符集编码的转换

    昨天晚上郎师兄打电话说,我的结果文件他打开是乱码,问我是不是字符编码没处理好.早晨早早的来到实验室,请教了下同学,才知道linux shell 配置文件中默认的字符集编码为UTF-8 .UTF-8是u ...

  2. MATLAB常用命令、函数与运算

    MATLAB常用命令.函数与运算(自学笔记1) 笔者正在学习matlab的m函数,本文为学习笔记的其中之一. 本文主要介绍MATLAB中常用的命令.函数和运算. 文章目录 MATLAB常用命令.函数与 ...

  3. sql常用语法命令及函数_SQL右连接命令:语法示例

    sql常用语法命令及函数 For this guide we'll discuss the SQL RIGHT JOIN. 对于本指南,我们将讨论SQL RIGHT JOIN. 正确加入 (Right ...

  4. ctfshow-萌新-web12( 利用命令执行函数获取网站敏感信息)

    ctf.show 萌新模块 web12关, 这一关考察的是代码执行漏洞的利用, 重点在于命令执行函数的利用方式, 推荐使用反引号(``) 或者 base64加密绕过 页面中展示了部分源码, 并提示我们 ...

  5. iconv命令的使用,解决libxml2中解释中文失败的问题

    为什么80%的码农都做不了架构师?>>>    iconv命令用于LINUX下语言编码格式转换,现在将我成功转换的例子写一下,用以记录: iconv -f "gb2312& ...

  6. linux常用命令:iconv 命令(用于文件的编码转换),还可以用UE另存

    https://www.cnblogs.com/shujuxiong/p/8990452.html iconv命令是linux下用于文件转编码的常用命令,对于同时使用windows系统和linux系统 ...

  7. MATLAB常用命令及函数大全(字母顺序)

    花了些时间把MATLAB的命令以及函数按照字母顺序列了一个清单,供大家参考.               A a       abs 绝对值.模.字符的ASCII码值        acos 反余弦  ...

  8. 在Linux/Unix系统下用iconv命令处理文本文件中文乱码问题

    iconv命令是运行于linux/unix平台的文件编码装换工具.当我们在linux/unix系统shell查看文本文件时,常常会发现文件的中文是乱码的,这是由于文本文件的编码与当前操作系统设置的编码 ...

  9. iconv命令utf-8文件转为gbk文件

    iconv命令utf-8文件转为gbk文件 iconv -c -f UTF-8 -t GDK /filename > /filename

  10. MATLAB命令与函数集合

    转载自:http://www.cnblogs.com/coldair 1.常用命令-->管理命令和函数 addpath   添加目录到MATLAB搜索路径  doc       在Web浏览器上 ...

最新文章

  1. python-文件基本操作(二)
  2. html语言入门测试题,Web前端:20道非常基础的JavaScript测试题
  3. scrcpy投屏_安卓投屏利器——PC一键控制多台手机
  4. python数据分析实战案例logistic_Python机器学习随笔之logistic回归识别手写数字
  5. Oracle中for update造成锁表,致使无法删除或更新表内容
  6. 翻译:TRUNCATE TABLE(已提交到MariaDB官方手册)
  7. python3-基础8
  8. linux环境判断nginx是否已经启动
  9. Mac OS 系统工具使用
  10. 一个简单的品优购项目----html+css
  11. 2019年终总结——工作第二年
  12. 【张量分析】倒三角 微分算子 对 张量场 的作用
  13. Linux内核数据结构之哈希表
  14. 杂谈——最好用的数学神器Mathpix Snip,不接受反驳 :)
  15. 微信支付跨平台软件架构
  16. 苹果开发的资源URL链接
  17. ajax提交验证非空,5.验证用户名是否已经被注册:AJAXC请求
  18. 微信上一定有重做贴吧的机会!
  19. C语言 —— 函数(一)
  20. 火狐浏览器打开发现是2345的网站-----解决方法

热门文章

  1. 两个苹果手机共享步数_最新刷步教程 | 蚂蚁森林如何快速刷步数,获得296g能量...
  2. PBC密码学库使用指南
  3. 一名 IT 工程师的九年工作总结!
  4. 北大青鸟 ASP.NET视频教程批量下载
  5. html游戏抓包,常用的网页抓包工具
  6. VB编程必备!_VB源码之友(内含-下载-破解-使用方法)
  7. Go语言编程笔记1:Hello World
  8. unity3D游戏制作—暗黑战神DarkGod
  9. c语言图书管理信息系统源代码,C语言 图书信息管理系统 最终源代码
  10. java实验报告实验环境_Java实验报告一:Java开发环境的熟悉