Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > iconvライブラリ > Iconvクラス
class Iconv
クラスの継承リスト: Iconv < Data < Object < Kernel < BasicObject
Abstract
iconv 関数のラッパークラスです。
特異メソッド
charset_map -> Hash
-
文字コードセット名からシステム依存の文字コードセット名への Hash を返します。
conv(to, from, str) -> String
-
与えられた文字コードにしたがって str を変換し、結果を文字列として返します。
次の省略形です。
Iconv.iconv(to, from, str).join
- [PARAM] to:
- 変換先の文字コード体系を表す文字列を指定します。
- [PARAM] from:
- 変換前の文字コード体系を表す文字列を指定します。
- [PARAM] str:
- 変換したい文字列を指定します。
このメソッドは Iconv.new, Iconv.open および Iconv#iconv の例外 を起こします。
ctlmethods -> Array
-
システム上のlibiconvのiconvctl()関数で使用可能なフラグのリストを Array として返します。
iconv(to, from, *strs) -> Array
-
与えられた文字コードにしたがって strs を変換し、結果を文字列の配列として返します。
次の省略形です。
Iconv.open(to, from) {|cd| (strs + [nil]).collect {|s| cd.iconv(s)}}
- [PARAM] to:
- 変換先の文字コード体系を表す文字列を指定します。
- [PARAM] from:
- 変換前の文字コード体系を表す文字列を指定します。
- [PARAM] strs:
- 変換したい文字列を指定します。
このメソッドは Iconv.new, Iconv.open および Iconv#iconv の例外 を起こします。
list -> Array
list {|*aliases| ... } -> Array
-
各エイリアスセットごとに繰り返すイテレータです。 ブロックが指定されていなければ、その利用可能な文字コード体系の名前を文字列の配列として返します。 Iconv 標準の機能ではないのでサポートされるかはプラットフォームに依存します。
- [EXCEPTION] NotImplementedError:
- 実行プラットフォームでサポートされていない場合に発生します。
new(to, from) -> Iconv
-
文字コード from から to へ変換するIconvオブジェクトを生成します。
- [PARAM] to:
- 変換先の文字コード体系を表す文字列を指定します。
- [PARAM] from:
- 変換前の文字コード体系を表す文字列を指定します。
- [EXCEPTION] TypeError:
- to や from が String オブジェクトでないとき発生します。
- [EXCEPTION] Iconv::InvalidEncoding:
- to や from で指定された文字コード体系が見つからないとき発生します。
- [EXCEPTION] SystemCallError:
- iconv_open(3) が失敗したとき発生します。
例:
require 'iconv' # EUC-JP から SHIFT_JIS へ変換するIconvオブジェクトを生成。 icv = Iconv.new('SHIFT_JIS', 'EUC-JP')
open(to, from) -> Iconv
open(to, from) {|cd| ...} -> object
-
ブロックが与えられない場合は Iconv.new と等価です。 ブロックが与えられると、Iconv オブジェクトを生成し、それを引数としてブロックを実行します。 ブロックの終りに Iconv オブジェクトは close されます。 ブロックの値を返します。
- [PARAM] to:
- 変換先の文字コード体系を表す文字列を指定します。
- [PARAM] from:
- 変換前の文字コード体系を表す文字列を指定します。
- [EXCEPTION] TypeError:
- to や from が String オブジェクトでないとき発生します。
- [EXCEPTION] Iconv::InvalidEncoding:
- to や from で指定された文字コード体系が見つからないとき発生します。
例:
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 #=> あいうえお
インスタンスメソッド
close -> String
-
変換を終了します。出力バッファを初期シフト状態に戻すための文字列を返します。 出力の文字符号化方式が内部状態をも持たない場合、空文字列を返します。
このメソッドが呼ばれたあとで 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
-
文字列を変換し、変換後の文字列を返します。 str が nil の場合、空文字列""を返します。
- [PARAM] str:
- 変換される文字列を指定します。
例:
utf8 = ["E38182E38184E38186E38188E3818A"].pack("H*") # あいうえお iconv = Iconv.new('EUC-JP', 'UTF-8') # UTF-8 から EUC へ変換 str = iconv.conv(utf8) puts str #=> "あいうえお"
discard_ilseq=
-
Sets discard_ilseq flag.
discard_ilseq?
-
Returns discard_ilseq flag
iconv(str, start = 0, length = -1) -> String
-
文字列の変換を開始し、変換後の文字列を返します。 str が文字列の場合、str[start, length] を変換し、 変換後の文字列を返します。
str が nil の場合、変換器をその初期シフト状態にし、 出力バッファを初期シフト状態に戻すためのバイト列からなる文字列を返します。 出力の文字符号化方式が内部状態をも持たない場合、空文字列を返します。
- [PARAM] str:
- 変換される文字列または nil を指定します。
- [PARAM] start:
- str のうち変換を開始するオフセットを指定します。
- [PARAM] length:
- str のうち変換する長さを指定します。nil か -1 のときは、start 以降全部を意味します。
- [EXCEPTION] Iconv::IllegalSequence:
- strに指定された文字列に入力に指示された文字コードに含まれないために変換が停止した場合に発生します。
- [EXCEPTION] Iconv::InvalidCharacter:
- 入力の最後が不完全な文字かシフトで終っているために変換が停止した場合に発生します。
- [EXCEPTION] Iconv::OutOfRange:
- ライブラリの内部エラーが発生した場合に発生します。
transliterate=
-
Sets transliterate flag.
transliterate?
-
Returns transliterate flag.
trivial?
-
Returns trivial flag.