replacement

ec.replacement â string Instance Public methods Returns the replacement string. ec = Encoding::Converter.new("euc-jp", "us-ascii") p ec.replacement #=> "?" ec = Encoding::Converter.new("euc-jp", "utf-8") p ec.replacement #=> "\uFFFD"

replacement=

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

source_encoding

ec.source_encoding â encoding Instance Public methods Returns the source encoding as an Encoding object.

destination_encoding

ecerr.destination_encoding â string Instance Public methods Returns the destination encoding as an encoding object.

destination_encoding_name

ecerr.destination_encoding_name â string Instance Public methods Returns the destination encoding name as a string.

error_bytes

ecerr.error_bytes â string Instance Public methods Returns the discarded bytes when Encoding::InvalidByteSequenceError occurs. ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1") begin ec.convert("abc\xA1\xFFdef") rescue Encoding::InvalidByteSequenceError p $! #=> #<Encoding::InvalidByteSequenceError: "\xA1" followed by "\xFF" on EUC-JP> puts $!.error_bytes.dump #=> "\xA1" puts $!.readagain_bytes.dump #=> "\xFF" end

incomplete_input?

ecerr.incomplete_input? â true or false Instance Public methods Returns true if the invalid byte sequence error is caused by premature end of string. ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1") begin ec.convert("abc\xA1z") rescue Encoding::InvalidByteSequenceError p $! #=> #<Encoding::InvalidByteSequenceError: "\xA1" followed by "z" on EUC-JP> p $!.incomplete_input? #=> false end begin ec.convert("abc\xA1") ec.finish rescue Encoding

readagain_bytes

ecerr.readagain_bytes â string Instance Public methods Returns the bytes to be read again when Encoding::InvalidByteSequenceError occurs.

source_encoding

ecerr.source_encoding â encoding Instance Public methods Returns the source encoding as an encoding object. Note that the result may not be equal to the source encoding of the encoding converter if the conversion has multiple steps. ec = Encoding::Converter.new("ISO-8859-1", "EUC-JP") # ISO-8859-1 -> UTF-8 -> EUC-JP begin ec.convert("\xa0") # NO-BREAK SPACE, which is available in UTF-8 but not in EUC-JP. rescue Encoding::UndefinedConversionError p $!.source_

source_encoding_name

ecerr.source_encoding_name â string Instance Public methods Returns the source encoding name as a string.