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