Class: Encoding::UndefinedConversionError (Ruby 2.3.4)

    In Files

    • encoding.c

    Class/Module Index [+]

    Quicksearch

    Encoding::UndefinedConversionError

    Raised by Encoding and String methods when a transcoding operation fails.

    Public Instance Methods

    destination_encoding → string click to toggle source

    Returns the destination encoding as an encoding object.

     
                   static VALUE
    ecerr_destination_encoding(VALUE self)
    {
        return rb_attr_get(self, rb_intern("destination_encoding"));
    }
                
    destination_encoding_name → string click to toggle source

    Returns the destination encoding name as a string.

     
                   static VALUE
    ecerr_destination_encoding_name(VALUE self)
    {
        return rb_attr_get(self, rb_intern("destination_encoding_name"));
    }
                
    error_char → string click to toggle source

    Returns the one-character string which cause Encoding::UndefinedConversionError.

    ec = Encoding::Converter.new("ISO-8859-1", "EUC-JP")
    begin
      ec.convert("\xa0")
    rescue Encoding::UndefinedConversionError
      puts $!.error_char.dump   #=> "\xC2\xA0"
      p $!.error_char.encoding  #=> #<Encoding:UTF-8>
    end
    
     
                   static VALUE
    ecerr_error_char(VALUE self)
    {
        return rb_attr_get(self, rb_intern("error_char"));
    }
                
    source_encoding → encoding click to toggle source

    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_encoding              #=> #<Encoding:UTF-8>
      p $!.destination_encoding         #=> #<Encoding:EUC-JP>
      p $!.source_encoding_name         #=> "UTF-8"
      p $!.destination_encoding_name    #=> "EUC-JP"
    end
    
     
                   static VALUE
    ecerr_source_encoding(VALUE self)
    {
        return rb_attr_get(self, rb_intern("source_encoding"));
    }
                
    source_encoding_name → string click to toggle source

    Returns the source encoding name as a string.

     
                   static VALUE
    ecerr_source_encoding_name(VALUE self)
    {
        return rb_attr_get(self, rb_intern("source_encoding_name"));
    }