iconv
iconv[1]是一個電腦程式[2]以及一套應用程式編程介面[3]的名稱。它的作用是在多種國際編碼格式之間進行文字內碼的轉換。支援的內碼包括:
作為應用程式的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庫了。