欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

iconv怎么用,iconv函数

时间:2022-11-12 19:45:38

Iconv用法篇1

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

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

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

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

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

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

指令:

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

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

iconv_ticonv_open(constchar*tocode,constchar*fromcode);

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

inticonv_close(iconv_tcd);

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

iconv_tcd=iconv_open("GBK","UTF-8");

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

bzero(outbiuf,inlen*4);

char*in=inbuf;

char*out=outbuf;

size_toutlen=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。

windows怎么支持'iconv'篇2

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

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

linux下的函数原型

size_ticonv(iconv_tcd,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打印程序版本号示例:

列出支持的字符编码

[[email protected]~]#iconv-..(aliases).所有已知字符集

如何利用iconv命令进行编码转换呢篇3

用法: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文件。

windows下如何用iconv.h篇4

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

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

linux下的函数原型

size_ticonv(iconv_tcd,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打印程序版本号示例:

列出支持的字符编码

[[email protected]~]#iconv-..(aliases).所有已知字符集

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。