iconv怎么用(Iconv用法)

1.Iconv用法

头文件"inconv.h"。iconv命令可以将一种已知的字符集文件转换成另一种已知的字符集文件。

它的作用是在多种国际编码格式之间进行文本内码的转换。

作为编程接口的iconv包括3个函数:

iconv_open函数用于初始化用于转换的内部缓冲区,需要指明需要从何种编码方式转换到哪一种。

iconv函数进行实际的转换,需要给出两个间接缓冲区指针和剩余字节数指针。该函数需要更新所有相关信息,因此将不可改写的指针传递给iconv是错误的。

iconv_close函数释放iconv_open函数的缓冲区。

指令:

#iconv -f GB2312 -t UTF-8 gb1.txt >gb2.txt 将gb1里的编码从GB2312转化成UTF-8 并重定向到gb2.txt

除了iconv命令,我们在linux系统下的man page的第三节还可以看到一组iconv函数。它们分别是

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

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

int iconv_close(iconv_t cd);

iconv_open函数用来打开一个编码转换的流,iconv函数的作用是实际进行转换,iconv_close函数的作用就是关闭这个流。实际用法参见下面的例子,下面是一个将UTF-8码转换成GBK码的例子,我们假设已经有了一个uft8编码的输入缓冲区inbuf以及这个缓冲区的长度inlen。

iconv_t cd = iconv_open( "GBK", "UTF-8");

char *outbuf = (char *)malloc(inlen * 4 );

bzero( outbiuf, inlen * 4);

char *in = inbuf;

char *out = outbuf;

size_t outlen = inlen *4;

iconv(cd, &in, (size_t *)&inlen, &out,&outlen);

outlen = strlen(outbuf);

printf("%s\n",outbuf);

free(outbuf);

iconv_close(cd);

非常值得注意的地方是:iconv函数会修改参数in和参数out指针所指向的地方,也就是说,在调用iconv函数之前,我们的in和inbuf指针以及out和outbuf指针指向的是同一块内存区域,但是调用之后out指针所指向的地方就不是outbuf了,同理in指针。所以要

char *in = inbuf;

char *out = outbuf;

另存一下,使用或者释放内存的时候也要使用原先的那个指针outbuf和inbuf。

2.windows下如何用iconv.h

头文件"iconv.h"。iconv命令可以将一种已知的字符集文件转换成另一种已知的字符集文件。

它的作用是在多种国际编码格式之间进行文本内码的转换。

linux下的函数原型

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

iconv是一个计算机程序以及一套应用程序编程接口的名称。

作为应用程序的iconv采用命令行界面,允许将某种特定编码的文件转换为另一种编码。

iconv基于GPL公开源代码,是GNU项目的一部分。在各种UNIX操作系统下均可使用,而在Windows系统,需要特殊的环境如cygwin或者GnuWin32等软件平台下方可使用。现在在SourceForge上也有运行于Windows系统的,需要同时安装gettext程序。

目前版本为2.3.26,支持的内码包括:Unicode相关编码,如UTF-8、UTF-16等等,各国采用的ANSI编码,其中包括GB2312、BIG5等中文编码方式。

输入/输出格式规范:

-f,--from-code=NAME始文本编码-t,--to-code=NAME输出编码

信息:

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

-c从输出中忽略无效的字符-o,--output=FILE输出文件-s,----verbose打印进度信息-?,--help给出该系统求助列表--usage给出简要的用法信息-V,--version打印程序版本号示例:

列出支持的字符编码

[root@new55~]#iconv-..(aliases).所有已知字符集

3.windows怎么支持'iconv'

头文件"iconv.h"。iconv命令可以将一种已知的字符集文件转换成另一种已知的字符集文件。

它的作用是在多种国际编码格式之间进行文本内码的转换。

linux下的函数原型

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

iconv是一个计算机程序以及一套应用程序编程接口的名称。

作为应用程序的iconv采用命令行界面,允许将某种特定编码的文件转换为另一种编码。

iconv基于GPL公开源代码,是GNU项目的一部分。在各种UNIX操作系统下均可使用,而在Windows系统,需要特殊的环境如cygwin或者GnuWin32等软件平台下方可使用。现在在SourceForge上也有运行于Windows系统的,需要同时安装gettext程序。

目前版本为2.3.26,支持的内码包括:Unicode相关编码,如UTF-8、UTF-16等等,各国采用的ANSI编码,其中包括GB2312、BIG5等中文编码方式。

输入/输出格式规范:

-f,--from-code=NAME始文本编码-t,--to-code=NAME输出编码

信息:

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

-c从输出中忽略无效的字符-o,--output=FILE输出文件-s,----verbose打印进度信息-?,--help给出该系统求助列表--usage给出简要的用法信息-V,--version打印程序版本号示例:

列出支持的字符编码

[root@new55~]#iconv-..(aliases).所有已知字符集

4.如何利用iconv命令进行编码转换呢

用法:iconv有如下选项可用:输入/输出格式规范:-f,--from-code名称原始文本编码-t,--to-code名称输出编码信息:-l,--list列举所有已知的字符集输出控制:-c从输出中忽略无效的字符-o,--outputFILE输出文件-s,--silent关闭警告--verbose打印进度信息-?,--help给出该系统求助列表--usage给出简要的用法信息-V,--version打印程序版本号例子:iconv-futf-8-tgb2312aaa.txtbbb.txt这个命令读取aaa.txt文件,从utf-8编码转换为gb2312编码,其输出定向到bbb.txt文件。

iconv怎么用

转载请注明出处育才学习网 » iconv怎么用(Iconv用法)

知识

苹果手机放大器怎么用(iPhone如何设置放大器)

阅读(425)

本文主要为您介绍苹果手机放大器怎么用,内容包括怎么使用苹果手机放大器,苹果手机自带的放大器怎么设置,怎么使用苹果手机放大器。工具/原料:IPhone6splus手机。首先点击苹果手机桌面中的设置。

知识

奥迪q3怎么用蓝牙放歌(奥迪Q3怎么用手机蓝牙连接放歌)

阅读(450)

本文主要为您介绍奥迪q3怎么用蓝牙放歌,内容包括奥迪Q3怎么用蓝牙听歌,奥迪Q3怎么用手机蓝牙连接放歌,奥迪q3怎么用手机蓝牙连接放歌,能连接上就是放不了歌怎么回事是不。1. 开启车载蓝牙。2. 打开手机的蓝牙功能,并将手机蓝牙设置为“所有

知识

怎么写运动会的分工明细表(校运会院的运动会工作安排)

阅读(619)

本文主要为您介绍怎么写运动会的分工明细表,内容包括校运会院的运动会工作安排,运动会工作组职责,运动会后勤只有十四人,怎么分工急啊。校运会工作安排计划工作流程: 校运会第一天: 6:30学生会,会计学会,团总支全体成员在那拉提西餐厅门口集中

知识

我也愿意英文怎么写(我愿意用英文怎么说)

阅读(739)

本文主要为您介绍我也愿意英文怎么写,内容包括我也愿意,英文怎么写,我也愿意,用英语怎么说,“我愿意”用英文怎么说。I do【释义】我愿意【例句】我会付诸行动,而且我愿意这么做。I can act on them. And I do.

知识

一图四式怎么写题(怎样做看图列式题,有什么方法)

阅读(409)

本文主要为您介绍一图四式怎么写题,内容包括求文档:小学一年级数学一图四式题目,和看图多式题目,小学一年级数学上册610各数的认识的一图四式是什么意思,小学二年级数学上册一图四式。学生看图列式计算出现困难主要表现在以下几个方面:弄不清

知识

秋天过去了冬天来了怎么写(用秋天过去了,冬天来了造句)

阅读(755)

本文主要为您介绍秋天过去了冬天来了怎么写,内容包括秋天过去了冬天来了,接着怎么写,秋天过去了,冬天来了,后面怎么写,秋天过去了丶冬天来了后面写什么。1:秋天过去了,冬天来了,小草都枯萎了,花儿也不敢抬头了。2,秋天过去了,冬天来了,大雁都南飞

知识

小孩写暑假规划怎么写(小学生暑假计划书怎么写)

阅读(446)

本文主要为您介绍小孩写暑假规划怎么写,内容包括小学生暑假计划书怎么写,小学作文暑假计划我的暑假计划怎么写,暑假计划怎么写。158:30~9:00做老师布置的作业 9:00~10:00做课外作业 10:00~13:00玩 13:00~14:00做课外作业 14

知识

怎么样用微信群抽奖(微信怎么抽奖)

阅读(394)

本文主要为您介绍怎么样用微信群抽奖,内容包括微信群里怎么抽奖,微信群里怎么抽奖,微信上怎么设置抽奖啊急急急。微信公众号分为订阅号和服务号,我们会发现一些公众号有抽奖、会员卡、刮刮卡等功能,非常有趣,接下来手把手教你怎么做吧,很简单哦

知识

快速浏览用英语怎么说(浏览用英语怎么说)

阅读(648)

本文主要为您介绍快速浏览用英语怎么说,内容包括“快速浏览”的英文是什么,快速查阅,浏览的英文look短语,“快速浏览一下新闻”用英语怎么讲呀。浏览 [词典] browse; glance over; skim through; pass ones eyes over sth.;

知识

今天有风用英语怎么说(有风的用英语怎么说)

阅读(563)

本文主要为您介绍今天有风用英语怎么说,内容包括今天有风,翻译成英文,今天是有风的如何翻译,有风的用英语怎么说。有风的的英文:windywindy英 [ˈwɪndi] 美 [ˈwɪndi] adj.有风的;腹胀的;吹牛的;空谈的It was win

知识

乐视2怎么用线控自拍杆(乐视手机怎么使用自拍杆)

阅读(450)

本文主要为您介绍乐视2怎么用线控自拍杆,内容包括乐视手机怎么使用自拍杆,乐视手机怎么用自拍杆,乐视手机如何连接自拍杆。乐视手机使用自拍杆的方法: (一)蓝牙自拍杆 (1)长按自拍器电源开关,灯闪烁后代表开机; (2)打开手机蓝牙,搜索身边设备,点击连接

知识

oppor9怎么用otg线(OPPOR9怎样连接OTG)

阅读(471)

本文主要为您介绍oppor9怎么用otg线,内容包括OPPOR9怎样连接OTG,oppor9怎样用otg读u盘,oppoR9手机otg怎么用法R。OTG 是On-The-Go的缩写,于2001年12月18日由USB Implementers Forum公布,主要应用于各种不同的设备

[/e:loop]