iconv

维基百科,自由的百科全书
跳转至: 导航搜索

iconv是一个计算机程序以及一套应用程序编程接口的名称。它的作用是在多种国际编码格式之间进行文本内码的转换。目前版本为2.3.26,支持的内码包括:

  • Unicode相关编码,如UTF-8UTF-16等等
  • 各国采用的ANSI编码,其中包括GB2312、BIG5等中文编码方式。

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

用法[编辑]

文件infile从GB18030编码转换至UTF-8编码并写入到文件outfile中:

iconv -f GB18030 -t utf-8 < infile > outfile

PHP语言对iconv封装了3个函数:

  • iconv_open函数用于初始化用于转换的内部缓冲区,需要指明需要从何种编码方式转换到哪一种。
  • iconv函数进行实际的转换,需要给出两个间接缓冲区指针和剩余字节数指针。该函数需要更新所有相关信息,因此将不可改写的指针传递给iconv是错误的。
  • iconv_close函数释放iconv_open函数的缓冲区。

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

目前,libiconv已经包含在C运行时刻库libc.so中。因此,Linux平台上使用iconv库函数的程序,需要包含<iconv.h>,但链接时不需要引入libiconv库了。

外部链结[编辑]