るりまサーチ (Ruby 2.2.0)

最速Rubyリファレンスマニュアル検索!
23件ヒット [1-23件を表示] (0.006秒)
トップページ > バージョン:2.2.0[x] > クラス:Encoding::Converter[x]

検索結果

Encoding::Converter#convert(source_string) -> String (2.0)

与えられた文字列を変換して、変換できた結果を返します。 引数の末尾の文字がバイト列の途中で終わっている場合、そのバイト列は変換器内に取り置かれます。 変換を終了させるには Encoding::Converter#finish を呼びます。

...わっている場合、そのバイト列は変換器内に取り置かれます。
変換を終了させるには Encoding::Converter#finish を呼びます。

Encoding::Converter
を用いると、文字列の一部または全部を渡して変換を行うことができます。よって、不...
...意識せずにストリームから読み出した文字列を変換したいときには Encoding::Converter が適します。

なお、Encoding::Converter#convert では、これらの例外を捕獲しても、例外を起こしたところから変換を再開することはできません。...
...未定義な文字があった場合に発生します。

ec = Encoding::Converter.new("utf-8", "euc-jp")
puts ec.convert("\u3042").dump #=> "\xA4\xA2"
puts ec.finish.dump #=> ""

ec = Encoding::Converter.new("euc-jp", "utf-8")
puts ec.convert("\xA4").dump #=> ""...

Encoding::Converter#convpath -> Array (2.0)

変換器が行う変換の経路を配列にして返します。

...換器が行う変換の経路の配列

ec = Encoding::Converter.new("ISo-8859-1", "EUC-JP", crlf_newline: true)
p ec.convpath
#=> [[#<Encoding:ISO-8859-1>, #<Encoding:UTF-8>],
# [#<Encoding:UTF-8>, #<Encoding:EUC-JP>],
# "crlf_newline"]

@see Encoding::Converter.search_convpath...

Encoding::Converter#destination_encoding -> Encoding (2.0)

変換先のエンコーディングを返します。

変換先のエンコーディングを返します。

@return 変換先のエンコーディング

Encoding::Converter#finish -> String (2.0)

変換処理を終了し、結果文字列の末尾を返します。 変換元の文字列の末尾がバイト列の途中で終わっていた場合、保持しているバイト列全てを返します。

...@raise Encoding::InvalidByteSequenceError 変換元のエンコーディングにお
いて不正なバイト列があった場合に発生します。

ec = Encoding::Converter.new("utf-8", "iso-2022-jp")
p ec.convert("\u3042") #=> "\e$B$\""
p ec.finish #=> "\e(B"...

Encoding::Converter#insert_output(string) -> nil (2.0)

変換器内のバッファに文字列を挿入します。 バッファに保持された文字列は、次の変換時の変換結果と一緒に返されます。

...ッドは変換に際してエラーが発生した際にのみ利用されるべきです。

@param string 挿入する文字列

ec = Encoding::Converter.new("utf-8", "iso-8859-1")
src = "HIRAGANA LETTER A is \u{3042}."
dst = ""
p ec.primitive_convert(src, dst) #=> :undefined_conversio...
...p ec.primitive_convert(src, dst) #=> :finished
puts "[#{dst.dump}, #{src.dump}]" #=> ["HIRAGANA LETTER A is <err>.", ""]

ec = Encoding::Converter.new("utf-8", "iso-2022-jp")
src = "\u{306F 3041 3068 2661 3002}" # U+2661 is not representable in iso-2022-jp
dst = ""
p ec.primitive...

絞り込み条件を変える

Encoding::Converter#inspect -> String (2.0)

Encoding::Converter オブジェクトの情報を簡単に表示します。

...Encoding::Converter オブジェクトの情報を簡単に表示します。

@return 変換器の情報を簡単に可視化した文字列です。...

Encoding::Converter#last_error -> Exception | nil (2.0)

直前に変換器で発生した例外に相当する例外オブジェクトを返します 直線の変換で例外が発生していない場合は nil を返します。

直前に変換器で発生した例外に相当する例外オブジェクトを返します
直線の変換で例外が発生していない場合は nil を返します。

Encoding::Converter#primitive_convert(source_buffer, destination_buffer) -> Symbol (2.0)

エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。

...です。

可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。

@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変...
...ay be part of larger source
:after_output => true # stop conversion after output before input
: integer form
Encoding::Converter
::PARTIAL_INPUT
Encoding::Converter
::AFTER_OUTPUT

戻り値は以下のうちのどれかです。

* :invalid_byte_sequence
* :incomplete_input
* :...
...end
break
end while nil

不正なバイトや変換先で未定義なバイトをエスケープしつつ変換する例です。以上のように、戻り値で分岐させつつ、Encoding::Converter#primitive_errinfo の情報を参照して処理していくことになります。...

Encoding::Converter#primitive_convert(source_buffer, destination_buffer, destination_byteoffset) -> Symbol (2.0)

エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。

...です。

可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。

@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変...
...ay be part of larger source
:after_output => true # stop conversion after output before input
: integer form
Encoding::Converter
::PARTIAL_INPUT
Encoding::Converter
::AFTER_OUTPUT

戻り値は以下のうちのどれかです。

* :invalid_byte_sequence
* :incomplete_input
* :...
...end
break
end while nil

不正なバイトや変換先で未定義なバイトをエスケープしつつ変換する例です。以上のように、戻り値で分岐させつつ、Encoding::Converter#primitive_errinfo の情報を参照して処理していくことになります。...

Encoding::Converter#primitive_convert(source_buffer, destination_buffer, destination_byteoffset, destination_bytesize) -> Symbol (2.0)

エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。

...です。

可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。

@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変...
...ay be part of larger source
:after_output => true # stop conversion after output before input
: integer form
Encoding::Converter
::PARTIAL_INPUT
Encoding::Converter
::AFTER_OUTPUT

戻り値は以下のうちのどれかです。

* :invalid_byte_sequence
* :incomplete_input
* :...
...end
break
end while nil

不正なバイトや変換先で未定義なバイトをエスケープしつつ変換する例です。以上のように、戻り値で分岐させつつ、Encoding::Converter#primitive_errinfo の情報を参照して処理していくことになります。...

絞り込み条件を変える

Encoding::Converter#primitive_convert(source_buffer, destination_buffer, destination_byteoffset, destination_bytesize, options) -> Symbol (2.0)

エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。

...です。

可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。

@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変...
...ay be part of larger source
:after_output => true # stop conversion after output before input
: integer form
Encoding::Converter
::PARTIAL_INPUT
Encoding::Converter
::AFTER_OUTPUT

戻り値は以下のうちのどれかです。

* :invalid_byte_sequence
* :incomplete_input
* :...
...end
break
end while nil

不正なバイトや変換先で未定義なバイトをエスケープしつつ変換する例です。以上のように、戻り値で分岐させつつ、Encoding::Converter#primitive_errinfo の情報を参照して処理していくことになります。...

Encoding::Converter#primitive_errinfo -> Array (2.0)

直前の Encoding::Converter#primitive_convert による変換の結果を保持する五要素の配列を返します。

...直前の Encoding::Converter#primitive_convert による変換の結果を保持する五要素の配列を返します。

@return [result, enc1, enc2, error_bytes, readagain_bytes] という五要素の配列

result は直前の primitive_convert の戻り値です。
それ以外の四要素は...
...もっぱら Encoding::Converter#primitive_convert と組み合わせて使います。Encoding::Converter#convert を用いている場合にも取得することはできますが、有用な使い方は難しいでしょう。

# \xff is invalid as EUC-JP.
ec = Encoding::Converter.new("EUC-JP...
...3\x81\x82).
ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
ec.primitive_convert(src="\xa4\xa2", dst="", nil, 10)
p ec.primitive_errinfo
#=> [:undefined_conversion, "UTF-8", "ISO-8859-1", "\xE3\x81\x82", ""]

# partial character is invalid
ec = Encoding::Converter.new("EUC-JP", "I...

Encoding::Converter#putback -> String (2.0)

後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ イト列の全てを返します。

後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した
バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ
イト列の全てを返します。

@param max_numbytes 取得するバイト列の最大値

@return 格納されていたバイト列

Encoding::Converter#putback(max_numbytes) -> String (2.0)

後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ イト列の全てを返します。

後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した
バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ
イト列の全てを返します。

@param max_numbytes 取得するバイト列の最大値

@return 格納されていたバイト列

Encoding::Converter#replacement -> String (2.0)

変換器に設定されている置換文字を返します。

...る置換文字を返します。

@return 変換器に設定されている置換文字

ec = Encoding::Converter.new("euc-jp", "us-ascii")
p ec.replacement #=> "?"

ec = Encoding::Converter.new("euc-jp", "utf-8")
p ec.replacement #=> "\uFFFD"...

絞り込み条件を変える

Encoding::Converter#replacement=(string) (2.0)

置換文字を設定します。

...置換文字を設定します。

@param string 変換器に設定する置換文字

ec = Encoding::Converter.new("utf-8", "us-ascii", :undef => :replace)
ec.replacement = "<undef>"
p ec.convert("a \u3042 b") #=> "a <undef> b"...

Encoding::Converter#source_encoding -> Encoding (2.0)

変換元のエンコーディングを返します。

変換元のエンコーディングを返します。

@return 変換元のエンコーディング

Encoding::Converter.asciicompat_encoding(encoding) -> Encoding | nil (2.0)

同じ文字集合を持つ ASCII 互換エンコーディングを返します。

...ンコーディングでない場合は nil を返します。

Encoding::Converter
.asciicompat_encoding("ISO-2022-JP") #=> #<Encoding:stateless-ISO-2022-JP>
Encoding::Converter
.asciicompat_encoding("UTF-16BE") #=> #<Encoding:UTF-8>
Encoding::Converter
.asciicompat_encoding("UTF-8") #=> nil...

Encoding::Converter.asciicompat_encoding(string) -> Encoding | nil (2.0)

同じ文字集合を持つ ASCII 互換エンコーディングを返します。

...ンコーディングでない場合は nil を返します。

Encoding::Converter
.asciicompat_encoding("ISO-2022-JP") #=> #<Encoding:stateless-ISO-2022-JP>
Encoding::Converter
.asciicompat_encoding("UTF-16BE") #=> #<Encoding:UTF-8>
Encoding::Converter
.asciicompat_encoding("UTF-8") #=> nil...

Encoding::Converter.new(convpath) -> Encoding::Converter (2.0)

Encoding::Converter オブジェクトを作成します。

...Encoding::Converter オブジェクトを作成します。

@param source_encoding 変換元のエンコーディング
@param destination_encoding 変換先のエンコーディング
@param options 変換の詳細を指定する定数やハッシュ
@param convpath 変換経路の配列

options...
...* Encoding::Converter::INVALID_REPLACE
* Encoding::Converter::UNDEF_REPLACE
* Encoding::Converter::UNDEF_HEX_CHARREF
* Encoding::Converter::UNIVERSAL_NEWLINE_DECORATOR
* Encoding::Converter::CRLF_NEWLINE_DECORATOR
* Encoding::Converter::CR_NEWLINE_DECORATOR
* Encoding::Converter::XML...
..._TEXT_DECORATOR
* Encoding::Converter::XML_ATTR_CONTENT_DECORATOR
* Encoding::Converter::XML_ATTR_QUOTE_DECORATOR...

絞り込み条件を変える

Encoding::Converter.new(source_encoding, destination_encoding) -> Encoding::Converter (2.0)

Encoding::Converter オブジェクトを作成します。

...Encoding::Converter オブジェクトを作成します。

@param source_encoding 変換元のエンコーディング
@param destination_encoding 変換先のエンコーディング
@param options 変換の詳細を指定する定数やハッシュ
@param convpath 変換経路の配列

options...
...* Encoding::Converter::INVALID_REPLACE
* Encoding::Converter::UNDEF_REPLACE
* Encoding::Converter::UNDEF_HEX_CHARREF
* Encoding::Converter::UNIVERSAL_NEWLINE_DECORATOR
* Encoding::Converter::CRLF_NEWLINE_DECORATOR
* Encoding::Converter::CR_NEWLINE_DECORATOR
* Encoding::Converter::XML...
..._TEXT_DECORATOR
* Encoding::Converter::XML_ATTR_CONTENT_DECORATOR
* Encoding::Converter::XML_ATTR_QUOTE_DECORATOR...

Encoding::Converter.new(source_encoding, destination_encoding, options) -> Encoding::Converter (2.0)

Encoding::Converter オブジェクトを作成します。

...Encoding::Converter オブジェクトを作成します。

@param source_encoding 変換元のエンコーディング
@param destination_encoding 変換先のエンコーディング
@param options 変換の詳細を指定する定数やハッシュ
@param convpath 変換経路の配列

options...
...* Encoding::Converter::INVALID_REPLACE
* Encoding::Converter::UNDEF_REPLACE
* Encoding::Converter::UNDEF_HEX_CHARREF
* Encoding::Converter::UNIVERSAL_NEWLINE_DECORATOR
* Encoding::Converter::CRLF_NEWLINE_DECORATOR
* Encoding::Converter::CR_NEWLINE_DECORATOR
* Encoding::Converter::XML...
..._TEXT_DECORATOR
* Encoding::Converter::XML_ATTR_CONTENT_DECORATOR
* Encoding::Converter::XML_ATTR_QUOTE_DECORATOR...

Encoding::Converter.search_convpath(source_encoding, destination_encoding, options) -> Array (2.0)

引数で指定した文字エンコーディングの変換の経路を配列にして返します。

...
Encoding::Converter
.new と同じオプションが指定でき
ます。

p Encoding::Converter.search_convpath("ISO-8859-1", "EUC-JP")
# => [[#<Encoding:ISO-8859-1>, #<Encoding:UTF-8>],
# [#<Encoding:UTF-8>, #<Encoding:EUC-JP>]]

p Encoding::Converter.sea...
...niversal_newline: true)
or
p Encoding::Converter.search_convpath("ISO-8859-1", "EUC-JP", newline: :universal)
# => [[#<Encoding:ISO-8859-1>, #<Encoding:UTF-8>],
# [#<Encoding:UTF-8>, #<Encoding:EUC-JP>],
# "universal_newline"]

p Encoding::Converter.search_convpath("ISO-8859-1",...
...ewline: true)
or
p Encoding::Converter.search_convpath("ISO-8859-1", "UTF-32BE", newline: :universal)
# => [[#<Encoding:ISO-8859-1>, #<Encoding:UTF-8>],
# "universal_newline",
# [#<Encoding:UTF-8>, #<Encoding:UTF-32BE>]]

@see Encoding::Converter#convpath, Encoding::Converter.new...