Skip to content

Maintenance Ruby 3.4 gets fixes, but no new features. Switch to Ruby 4.0 →

class method

Encoding::Converter.search_convpath

(::Encoding::Converter::encoding source, ::Encoding::Converter::encoding destination, ?newline: :universal | :crlf | :cr, ?universal_newline: bool, ?crlf_newline: bool, ?cr_newline: bool, ?xml: :text | :attr) -> ::Encoding::Converter::conversion_path
Encoding::Converter.search_convpath(source_encoding, destination_encoding) → ary
Encoding::Converter.search_convpath(source_encoding, destination_encoding, opt) → ary

Returns a conversion path.

Example
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.search_convpath("ISO-8859-1", "EUC-JP", universal_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", "UTF-32BE", universal_newline: 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 also .new #== .asciicompat_encoding #convert also in 4.1 · 4.0 · 3.3 · 3.2 · 3.1 · 3.0