Method: String#valid_encoding?

Defined in:
string.c

#valid_encoding? ⇒ Boolean

Returns true if self is encoded correctly, false otherwise:

"\xc2\xa1".force_encoding("UTF-8").valid_encoding? # => true
"\xc2".force_encoding("UTF-8").valid_encoding?     # => false
"\x80".force_encoding("UTF-8").valid_encoding?     # => false

Returns:

  • (Boolean)


11420
11421
11422
11423
11424
11425
11426
# File 'string.c', line 11420

static VALUE
rb_str_valid_encoding_p(VALUE str)
{
    int cr = rb_enc_str_coderange(str);

    return RBOOL(cr != ENC_CODERANGE_BROKEN);
}