Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > iconvライブラリ > Iconvクラス
クラスの継承リスト: Iconv < Data < Object < Kernel < BasicObject
iconv 関数のラッパークラスです。
charset_map -> {String => String}
[permalink][rdoc]文字コードセット名からシステム依存の文字コードセット名への Hash を返します。
conv(to, from, str) -> String
[permalink][rdoc]与えられた文字コードにしたがって str を変換し、結果を文字列として返します。
次の省略形です。
Iconv.iconv(to, from, str).join
このメソッドは Iconv.new, Iconv.open および Iconv#iconv の例外 を起こします。
ctlmethods -> [Symbol]
[permalink][rdoc]システム上のlibiconvのiconvctl()関数で使用可能なフラグのリストを Symbol の配列として返します。
iconv(to, from, *strs) -> [String]
[permalink][rdoc]与えられた文字コードにしたがって strs を変換し、結果を文字列の配列として返します。
次の省略形です。
Iconv.open(to, from) {|cd| (strs + [nil]).collect {|s| cd.iconv(s)}}
このメソッドは Iconv.new, Iconv.open および Iconv#iconv の例外 を起こします。
list -> [String]
[permalink][rdoc]list {|*aliases| ... } -> nil
各エイリアスセットごとに繰り返すイテレータです。 ブロックが指定されていなければ、その利用可能な文字コード体系の名前を文字列の配列として返します。 Iconv 標準の機能ではないのでサポートされるかはプラットフォームに依存します。
new(to, from, options = nil) -> Iconv
[permalink][rdoc]文字コード from から to へ変換するIconvオブジェクトを生成します。
例:
require 'iconv' # EUC-JP から SHIFT_JIS へ変換するIconvオブジェクトを生成。 icv = Iconv.new('SHIFT_JIS', 'EUC-JP')
[SEE_ALSO] Iconv.open
open(to, from, options = nil) -> Iconv
[permalink][rdoc]open(to, from, options = nil) {|cd| ...} -> object
ブロックが与えられない場合は Iconv.new と等価です。 ブロックが与えられると、Iconv オブジェクトを生成し、それを引数としてブロックを実行します。 ブロックの終りに Iconv オブジェクトは close されます。 ブロックの値を返します。
例:
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_ALSO] Iconv.new
close -> String
[permalink][rdoc]変換を終了します。出力バッファを初期シフト状態に戻すための文字列を返します。 出力の文字符号化方式が内部状態をも持たない場合、空文字列を返します。
このメソッドが呼ばれたあとで Iconv#iconv が呼ばれると例外が 起きますが、close 自体は繰返し呼ばれても成功します。
例:
i = Iconv.open("ISO-2022-JP", "EUC-JP") i.iconv("\264\301") #=> "\e$B4A" i.iconv("\273\372") #=> ";z" i.close #=> "\e(B"
conv(str) -> String
[permalink][rdoc]文字列を変換し、変換後の文字列を返します。 str が nil の場合、空文字列""を返します。
例:
utf8 = ["E38182E38184E38186E38188E3818A"].pack("H*") # あいうえお iconv = Iconv.new('EUC-JP', 'UTF-8') # UTF-8 から EUC へ変換 str = iconv.conv(utf8) puts str #=> "あいうえお"
discard_ilseq=(bool)
[permalink][rdoc]文字列の変換時に Iconv::IllegalSequence が発生するような文字列が 途中にあった場合でも無視して変換を継続するかどうかを指定します。
discard_ilseq? -> bool
[permalink][rdoc]文字列の変換時に Iconv::IllegalSequence が発生するような文字列が 途中にあった場合でも無視して変換を継続するかどうかを返します。
iconv(str, start = 0, length = -1) -> String
[permalink][rdoc]文字列の変換を開始し、変換後の文字列を返します。 str が文字列の場合、str[start, length] を変換し、 変換後の文字列を返します。
str が nil の場合、変換器をその初期シフト状態にし、 出力バッファを初期シフト状態に戻すためのバイト列からなる文字列を返します。 出力の文字符号化方式が内部状態をも持たない場合、空文字列を返します。
transliterate=(bool)
[permalink][rdoc]文字列の変換時に、表現できない文字を同じ見た目の文字に"翻訳"するかどう かを指定します。
transliterate? -> bool
[permalink][rdoc]文字列の変換時に、表現できない文字を同じ見た目の文字に"翻訳"するかどう かを返します。
trivial? -> bool
[permalink][rdoc]変換前の文字コードと、変換先の文字コードがそれぞれの文字を 1 対 1 に変 換可能なエンコーディングの組み合わせであった場合に true を返します。