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). 

外部連結

編輯