Wikiwand AI

Iconv

From Wikipedia, the free encyclopedia

iconv(アイコンブ)は異なる文字コード間の相互変換を行う標準API。または、そのAPIに付属する文字コード変換ユーティリティプログラム。名前は「International Codeset Conversion Library」に由来する[1]。GNUによる実装[2]が有名で、変換ライブラリ libiconv のライセンスはLGPL、変換プログラム iconv のライセンスはGPLである。

iconvのAPIは、おもにUNIX環境で文字列の文字コード変換を行う標準インタフェースである。iconvは最初HP-UXで開発され、後にPOSIX規格として標準化された。そのため、ほとんどのUnix系のシステムで使用できる。

iconv APIは文字コード変換プログラムのほか、既存のプログラムを国際化または多言語化するためにも用いられる。例えば、Sambaの国際化にはiconvが利用されている。

互換性

XML処理用ライブラリであるlibxmlがiconvを必要としているため、libxmlを使用したアプリケーションソフトウェアを利用する場合にもiconvを必要とする。

Microsoft Windows上では、CygwinやGnuWin32等のUnixライクな環境をインストールすることで、iconv APIやiconvプログラムを利用できるようになる。

プログラミング言語の標準ライブラリにAPIが組み込まれている場合がある。

PHP
PHPスクリプトからiconvの機能を利用することができる(WindowsのPHPでも付属のDLL (iconv.dll)により利用可能)。
バージョン1.9以前のRuby
それ以降のバージョンではそのプラットフォーム依存性から非推奨扱いになっており、String#encodeを代替とする。

日本語の対応状況

GNU Cライブラリのiconvでは2019年5月現在のところ、EUC-JP、EUC-JIS X0213、Shift_JIS、Shift_JIS X0213、CP932、ISO-2022-JP、ISO-2022-JP-2、ISO-2022-JP-1、ISO-2022-JP-MS、ISO-2022-JP-3等の日本語の文字コードに対応している[2]。また、UnicodeのエンコーディングであるUTF-8、UTF-16、UTF-32、UTF-7にも対応している[2]。

古くから使用されているnkfと異なり、多くの環境で標準的に使用できるが、一部の文字でnkfと変換結果が異なる点で注意を要する。 また、nkfに存在するエンコードの自動検出機能は存在しない。

使用例

脚注

外部リンク

Related Articles

Timelines

Top Qs

Fact Checks