new(source_encoding, destination_encoding) -> Encoding::Converter
[permalink][rdoc][edit]new(source_encoding, destination_encoding, options) -> Encoding::Converter
new(convpath) -> Encoding::Converter
-
Encoding::Converter オブジェクトを作成します。
- [PARAM] source_encoding:
- 変換元のエンコーディング
- [PARAM] destination_encoding:
- 変換先のエンコーディング
- [PARAM] options:
- 変換の詳細を指定する定数やハッシュ
- [PARAM] convpath:
- 変換経路の配列
options では String#encode でのハッシュオプションに加えて、以下の定数が利用可能です。
- 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
# UTF-16BE to UTF-8 ec = Encoding::Converter.new("UTF-16BE", "UTF-8") # Usually, decorators such as newline conversion are inserted last. ec = Encoding::Converter.new("UTF-16BE", "UTF-8", :universal_newline => true) p ec.convpath #=> [[#<Encoding:UTF-16BE>, #<Encoding:UTF-8>], # "universal_newline"] # But, if the last encoding is ASCII incompatible, # decorators are inserted before the last conversion. ec = Encoding::Converter.new("UTF-8", "UTF-16BE", :crlf_newline => true) p ec.convpath #=> ["crlf_newline", # [#<Encoding:UTF-8>, #<Encoding:UTF-16BE>]] # Conversion path can be specified directly. ec = Encoding::Converter.new(["universal_newline", ["EUC-JP", "UTF-8"], ["UTF-8", "UTF-16BE"]]) p ec.convpath #=> ["universal_newline", # [#<Encoding:EUC-JP>, #<Encoding:UTF-8>], # [#<Encoding:UTF-8>, #<Encoding:UTF-16BE>]]