iconv[1]是一個計算機程序[2]以及一套應用程序編程接口[3]的名稱。它的作用是在多種國際編碼格式之間進行文本內碼的轉換。支持的內碼包括:

  • 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庫了。

參考文獻

  1. ^ R: Convert Character Vector between Encodings. astrostatistics.psu.edu. [21 April 2018]. (原始內容存檔於2020-10-31). 
  2. ^ iconv. pubs.opengroup.org. [21 April 2018]. (原始內容存檔於2020-10-28). 
  3. ^ iconv. www.opengroup.org. [21 April 2018]. (原始內容存檔於2010-12-08). 

外部連結