names=open
visibility=public
kind=defined

--- open(to, from, options = nil)               -> Iconv
--- open(to, from, options = nil) {|cd| ...}    -> object

ブロックが与えられない場合は [[m:Iconv.new]] と等価です。
ブロックが与えられると、Iconv オブジェクトを生成し、それを引数としてブロックを実行します。
ブロックの終りに Iconv オブジェクトは close されます。
ブロックの値を返します。

@param to 変換先の文字コード体系を表す文字列を指定します。

@param from 変換前の文字コード体系を表す文字列を指定します。

@param options ハッシュ形式で transliterate、discard_ilseq に真か偽かを
               与えて[[ref:lib:iconv#gnu_options]] と同じ操作を行います。

@raise TypeError to や from が String オブジェクトでないとき発生します。

@raise Iconv::InvalidEncoding to や from で指定された文字コード体系が見つからないとき発生します。

@raise ArgumentError options に transliterate、discard_ilseq 以外を指定
                     した場合に発生します。

@raise NotImplementedError 実行プラットフォームでサポートされていないオ
                           プションを指定した場合に発生します。

例:
  euc = ["a4a2a4a4a4a6a4a8a4aa"].pack("H*") # あいうえおのEUC-JPコード

  Iconv.open("UTF-8", "EUC-JP") do |i|
    str = i.iconv(euc)
    str << i.iconv(nil)
  end
  puts str #=> あいうえお

@see [[m:Iconv.new]]

